获取“bytes.Buffer 未实现 io.Writer”错误消息
技术问答
311 人阅读
|
0 人回复
|
2023-09-12
|
我试着让一些 Go 对象实现 io.Writer,但是写字符串而不是文件或类似文件的对象。bytes.Buffer因为它用,因为它已经实现了Write(p []byte).但是,当我尝试这样做的时候:. d/ I$ B$ c! E" I. X
import "bufio"import "bytes"func main() var b bytes.Buffer foo := bufio.NewWriter(b)}
% K0 P- U1 B9 x) L6 u- N7 f- Z 我收到了以下错误:# w8 c1 n3 p: y5 D; T* Y' p4 ~
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)
+ y) {8 u8 O/ E* B3 o 我很困惑,因为它清楚地实现了界面。如何解决这个错误?8 c: q4 h3 d* ` U; o# g/ k
& v V o8 J2 C( { 解决方案:
# ^+ x" ]/ \; a7 Q* _( w6 \# o4 k" x 而不是缓冲区本身:8 V$ j9 I$ s9 H2 \- J) ~) Y
import "bufio"import "bytes"func main() var b bytes.Buffer foo := bufio.NewWriter(&b)}" Z, R. i+ o' F
|
|
|
|
|
|