【发布时间】:2014-06-20 17:16:42
【问题描述】:
我正在尝试让一些 Go 对象实现 io.Writer,但写入的是字符串而不是文件或类似文件的对象。我认为bytes.Buffer 会起作用,因为它实现了Write(p []byte)。但是,当我尝试这样做时:
import "bufio"
import "bytes"
func main() {
var b bytes.Buffer
foo := bufio.NewWriter(b)
}
我收到以下错误:
cannot use b (type bytes.Buffer) as type io.Writer in function argument:
bytes.Buffer does not implement io.Writer (Write method has pointer receiver)
我很困惑,因为它清楚地实现了接口。如何解决此错误?
【问题讨论】:
-
我至少遇到过两次这个问题,谷歌搜索解决方案真的没有帮助。
-
请注意,不需要创建 bufio。只需将 &b 用作 io.Writer
标签: go