go:使用fmt.Print/Printf/Println输出bytes.Buffer为什么要用&取地址
实验:
解析:
因为Print方法会使用参数的Stirng()方法,如果没有String()方法,就生成一个通用的方法(功能简单)
通过查看bytes.Buffer doc:
看到其中String()方法是需要(b *Buffer)调用,而不是(b Buffer),所以需要用&取地址
实验:
解析:
因为Print方法会使用参数的Stirng()方法,如果没有String()方法,就生成一个通用的方法(功能简单)
通过查看bytes.Buffer doc:
看到其中String()方法是需要(b *Buffer)调用,而不是(b Buffer),所以需要用&取地址