일부 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
나는이 문제를 적어도 두 번 만났고, 해결책을 찾기위한 인터넷 검색은 정말 도움이되지 않았습니다.
—
Kevin Burke
bufio를 만들 필요는 없습니다. & b를 io.Writer로 사용하면됩니다.
—
Vivien