我在 Go 中有一個(gè) func,它只是寫入緩沖區(qū)。我沒有在 func 上設(shè)置返回類型,所以我不確定為什么我會看到這個(gè)錯(cuò)誤。這是我的代碼:func Write(buffer *bytes.Buffer, values ...string) { for _, val := range values _, err := *buffer.WriteString(val) if err != nil { // print error } } _, err := *buffer.WriteString(" ") if err != nil { // print error }}它在我有 buffer.WriteString 的兩行都抱怨。這讓我相信它與緩沖區(qū)上 WriteString 方法的返回類型有關(guān),但我對 Go 的經(jīng)驗(yàn)不足,無法確定。任何幫助,將不勝感激。編輯:更新代碼。
1 回答

波斯汪
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
在 Go 中調(diào)用方法不需要取消引用指針。該*運(yùn)營商之前buffer.WriteString被應(yīng)用到返回的值。要取消引用,buffer您需要編寫(*buffer).WriteString,但這根本不需要:
func Write(buffer *bytes.Buffer, values ...string) {
for _, val := range values {
_, err := buffer.WriteString(val)
if err != nil {
// print error
}
}
_, err := buffer.WriteString(" ")
if err != nil {
// print error
}
}
- 1 回答
- 0 關(guān)注
- 199 瀏覽
添加回答
舉報(bào)
0/150
提交
取消