我很久没有接触过go语言了,好像忘记了如何阅读文档。
如果我想进行如下的get请求...
resp, err := http.Get("https://example.com")
我发现响应具有Body
属性,其类型为io.ReadCloser
(https://golang.org/pkg/io/#ReadCloser)。我看到ReadCloser
是Reader
和Closer
接口的结合体。
当我查看Reader
接口时,我发现它有一个Read
方法,用于读取字节到p
中(https://golang.org/pkg/io/#Reader)。
简而言之,http Response
包含了一个io.ReadCloser
接口的,该接口本身包含了一个Reader
接口和一个Read
方法。
当我尝试这样做时,我期望将响应字节读取到HTML中,但是我什么都没有看到...
var html []byte
num, err := resp.Body.Read(html)
fmt.Println("\n\thtml: ", html)
fmt.Printf("\n\tnum: %v, err: %v\n", num, err)
输出:
html: []
num: 0, err: <nil>
这里我错过了什么?