golang 编写一个函数,实现下载文件,参数为url和文件路径
以下是示例代码:
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func downloadFile(url string, filepath string) error {
// 发起 GET 请求
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
// 创建文件
file, err := os.Create(filepath)
if err != nil {
return err
}
defer file.Close()
// 将响应体写入文件
_, err = io.Copy(file, resp.Body)
if err != nil {
return err
}
fmt.Println("Downloaded", url, "to", filepath)
return nil
}
func main() {
url := "https://golang.org/dl/go1.17.1.linux-amd64.tar.gz"
filepath := "/tmp/go.tar.gz"
err := downloadFile(url, filepath)
if err != nil {
fmt.Println(err)
return
}
}
该函数使用 Go 标准库中的 http、io 和 os 包,通过发起 GET 请求并将响应体写入文件来下载文件。函数返回一个可能出现的错误。在函数中,我们使用 defer 关键字来确保在函数结束时关闭响应体和文件句柄。在主函数中,我们调用 downloadFile 函数并打印任何可能的错误。
原文地址: https://www.cveoy.top/t/topic/vqA 著作权归作者所有。请勿转载和采集!