第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么我不能以這種方式閱讀請(qǐng)求正文?

為什么我不能以這種方式閱讀請(qǐng)求正文?

Go
元芳怎么了 2022-08-15 16:22:58
這是一個(gè)人為的例子。為什么 .Read 方法將響應(yīng)正文的字節(jié)讀取到我的字節(jié)切片中?“讀取讀取最多 len(p) 字節(jié)到 p。它返回讀取的字節(jié)數(shù)(0 <= n <= len(p))和遇到的任何錯(cuò)誤。為什么此請(qǐng)求不將任何數(shù)據(jù)讀取到 p 中?func Fetch(){    req, err := http.NewRequest("GET", "https://swapi.dev/api/people/1",nil)        if err != nil {        log.Println(err)        return    }    req.Close = true // closes the request once the request has been made    // Transport caches connections for future use     var transport = &http.Transport{DisableKeepAlives: true}    var myClient = &http.Client{Timeout: 10 * time.Second, Transport: transport}    resp, err := myClient.Do(req)    p := []byte{}    a1, err := resp.Body.Read(p)    // a, err := ioutil.ReadAll(resp.Body) // this works    fmt.Println(a1)    fmt.Println(err)    fmt.Println(p)}
查看完整描述

1 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

實(shí)際上,它確實(shí)按指定的方式工作。

如文檔(鏈接)中所述:io.Reader

Read reads up to len(p) bytes into p.

在你的例子中,你定義了一個(gè)長(zhǎng)度為零的字節(jié)片,所以從響應(yīng)中讀取零字節(jié)。

您可以通過(guò)打印 p 的長(zhǎng)度來(lái)驗(yàn)證這一點(diǎn):

p := []byte{}
fmt.Printf("len of p: %d\n", len(p))

要?jiǎng)?chuàng)建非零長(zhǎng)度的字節(jié)切片,您可以使用:make()

p := make([]byte, 4096)


查看完整回答
反對(duì) 回復(fù) 2022-08-15
  • 1 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)