📅  最后修改于: 2023-12-03 14:48:49.320000             🧑  作者: Mango
在 Go 编程语言中,我们可以使用 net/http
包来下载文件。该包提供了一个名为 http.Get()
的函数,它可以用于从指定的 URL 中获取文件。
以下是使用 http.Get()
函数下载文件的示例代码:
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
// 下载文件的 URL
url := "https://example.com/sample.pdf"
// 使用 http.Get() 函数获取文件
resp, err := http.Get(url)
if err != nil {
fmt.Println("下载文件时出错:", err)
return
}
defer resp.Body.Close()
// 创建文件
file, err := os.Create("downloaded_file.pdf")
if err != nil {
fmt.Println("创建文件时出错:", err)
return
}
defer file.Close()
// 将获取到的文件数据写入文件
_, err = io.Copy(file, resp.Body)
if err != nil {
fmt.Println("写入文件时出错:", err)
return
}
fmt.Println("文件下载完成")
}
在上述示例代码中,我们首先定义了要下载的文件的 URL:
url := "https://example.com/sample.pdf"
然后,我们使用 http.Get()
函数来获取这个 URL 中的文件:
resp, err := http.Get(url)
if err != nil {
fmt.Println("下载文件时出错:", err)
return
}
defer resp.Body.Close()
如果 http.Get()
函数返回的错误不为空,那么我们就会输出一个错误消息并结束程序。defer resp.Body.Close()
则会在程序结束前关闭获取到的文件数据。
接下来,我们创建一个新的文件来保存获取到的数据:
file, err := os.Create("downloaded_file.pdf")
if err != nil {
fmt.Println("创建文件时出错:", err)
return
}
defer file.Close()
如果创建文件时出现了错误,那么我们就会输出一个错误消息并结束程序。defer file.Close()
则会在程序结束前关闭文件。
最后,我们将从 URL 中获取到的文件写入到我们新创建的文件中:
_, err = io.Copy(file, resp.Body)
if err != nil {
fmt.Println("写入文件时出错:", err)
return
}
如果写入文件时出现了错误,那么我们就会输出一个错误消息并结束程序。
如此便是在 Go 编程语言中使用 http.Get()
函数下载文件的方法。使用此方法,您可以轻松地获取 URL 中的文件,并将其保存为新文件。