Ste*_*e M 206

我假设你的意思是通过http下载(为简洁省略了错误检查):

import ("net/http"; "io"; "os")
...
out, err := os.Create("output.txt")
defer out.Close()
...
resp, err := http.Get("http://example.com/")
defer resp.Body.Close()
...
n, err := io.Copy(out, resp.Body)
io.Copy()
  • 请注意,`io.Copy`从输入读取32kb(最大值)并将它们写入输出,然后重复.所以不要担心记忆. (80认同)
  • 您可以使用它在给定超时后取消下载```client := http.Client{Timeout: 10 * time.Second,} client.Get("http://example.com/") ``` (2认同)