1. 程式人生 > >go:使用fmt.Print/Printf/Println輸出bytes.Buffer為什麼要用&取地址

go:使用fmt.Print/Printf/Println輸出bytes.Buffer為什麼要用&取地址

實驗:

解析:

因為Print方法會使用引數的Stirng()方法,如果沒有String()方法,就生成一個通用的方法(功能簡單)

通過檢視bytes.Buffer  doc:

看到其中String()方法是需要(b *Buffer)呼叫,而不是(b Buffer),所以需要用&取地址