我了解 Go 接口的一般概念。但是,我最近正在研究实现该io.Reader
接口,这让我感到困惑。我发现这篇文章并没有太大帮助。
首先,接受的答案是 usingio.Reader
的Read
函数,据我所知从未实现过。其次,Read
函数在类似ioutil.ReadAll
. 它需要一些实现io.Reader
接口的东西并返回一个字节片。我不明白只返回一个int
和的东西是如何err
被处理成一个字节片的。
编辑:
我在 go-nuts IRC 频道中得到了帮助,这是关于您可能如何实际实现一个http://play.golang.org/p/ejpUVOx8jR的提供的答案。非常感谢 Go 社区。
编辑2:
正如下面所指出的,在 strign 大于缓冲区的情况下,上面的实现将失败。这是一个更理智的实现http://play.golang.org/p/t4Zg8TnF33。
达令说
相关分类