私はいくつかの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)
インターフェイスが明確に実装されているので、混乱しています。このエラーを解決するにはどうすればよいですか?
2
私はこの問題に少なくとも2回遭遇しましたが、解決策のグーグルは本当に役に立ちませんでした。
—
Kevin Burke
bufioの作成は必要ないことに注意してください。&bをio.Writerとして使用する
—
Vivien