我正在编写一个示例Http客户端/服务器代码,以了解更多关于Go的知识。在编写过程中,我需要读取响应正文。因此,我查看了Go Pkg文档http://golang.org/pkg/net/http/#Response并发现Body io.ReadCloser即Body是io.ReaderCloser类型。为了了解什么是io.ReaderCloser,我点击了超链接,发现http://golang.org/pkg/io/#ReadCloser是实现两个方法Reader和Closer的接口。看到这里,我认为我可以这样做。
line, _ , err := response.Body.Reader.ReadLine()
Go编译器给了我一个错误,说response.Body中没有Reader方法或类型。我认为从概念上讲,我不理解为什么不能这样做。也许我太过于按照Java的思维方式来思考了。如果有人能指出我的误解,我将不胜感激。
谢谢
Body
是 一个Reader
,您可以直接从Body
调用Reader
方法,例如response.Body.Read()
。 - kibibu