当我执行这个命令时:
buf := new(bytes.Buffer)
buf.WriteString("Hello world")
fmt.Println(buf)
这段代码会输出 Hello World
。
但如果我执行以下代码:
var buf bytes.Buffer
buf.WriteString("Hello world")
fmt.Println(buf)
它打印出来的是:{[72 101 108 108 111 32 119 111 114 108 100] 0 [72 101 108 108 111 32 119 111 114 108 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 0}
我知道这是byte.Buffer结构的内容,但为什么以不同的格式打印出来呢?
bytes.Buffer
的String()
方法。 - Berkant İpeknew(bytes.Buffer)
返回的是*bytes.Buffer
,而不是bytes.Buffer
。因此,这两个buf
是不同的 :) - starriet