İçeriğin tamamını belleğe okumak zorunda kalmamak için aşağıdaki kodu akışları/boruları kullanmak üzere nasıl dönüştürürüm? şey gibi: http.Get("http://example.com/").Pipe("./data.txt")
Go'da bir dosyaya nasıl bir HTTP yanıtı iletilir?
package main
import ("net/http";"io/ioutil")
func main() {
resp, err := http.Get("http://example.com/")
check(err)
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
check(err)
err = ioutil.WriteFile("./data.txt", body, 0666)
check(err)
}
func check(e error) {
if e != nil {
panic(e)
}
}
Get yanıtı bir alan içerir Body hat Reader uygular. Temel olarak, içeriğini kendi dosyanıza yazan bir tür işleve aktarabilirsiniz. Hiçbir noktada vücudun tüm içeriği, sizden talep etmeniz dışında, belleğe yüklenir. – fuz