小编典典

获取“ bytes.Buffer无法实现io.Writer”错误消息

go

我正在尝试使一些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)

我很困惑,因为它清楚地实现了接口。如何解决此错误?


阅读 492

收藏
2020-07-02

共1个答案

小编典典

将指针传递给缓冲区,而不是缓冲区本身:

import "bufio"
import "bytes"

func main() {
    var b bytes.Buffer
    foo := bufio.NewWriter(&b)
}
2020-07-02