*http.http2gzipReader 与 io.ReadCloser Golang
*http.http2gzipReader vs io.ReadCloser Golang
在 response.go 的源代码定义中,定义了 io.ReadCloser
类型的正文,但是在通过以下代码打印正文类型时,它打印 *http.http2gzipReader
。他们都一样吗?
package main
import (
"fmt"
"net/http"
)
func main() {
//any url
url := "https://www.goal.com/en-in"
res, _ := http.Get(url)
body := res.Body
fmt.Printf("tpye is %T", body)
}
不,它们不一样。
io.ReadCloser
接口是请求主体的类型,但 *http.http2gzipReader
是分配给接口的具体类型。也就是我们所说的,*http.http2gzipReader
实现了io.ReadCloser
接口。
在 response.go 的源代码定义中,定义了 io.ReadCloser
类型的正文,但是在通过以下代码打印正文类型时,它打印 *http.http2gzipReader
。他们都一样吗?
package main
import (
"fmt"
"net/http"
)
func main() {
//any url
url := "https://www.goal.com/en-in"
res, _ := http.Get(url)
body := res.Body
fmt.Printf("tpye is %T", body)
}
不,它们不一样。
io.ReadCloser
接口是请求主体的类型,但 *http.http2gzipReader
是分配给接口的具体类型。也就是我们所说的,*http.http2gzipReader
实现了io.ReadCloser
接口。