我在 Go 中有一个 func,它只是写入缓冲区。我没有在 func 上设置返回类型,所以我不确定为什么我会看到这个错误。这是我的代码: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 的两行都抱怨。这让我相信它与缓冲区上 WriteString 方法的返回类型有关,但我对 Go 的经验不足,无法确定。任何帮助,将不胜感激。编辑:更新代码。
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
在 Go 中调用方法不需要取消引用指针。该*运营商之前buffer.WriteString被应用到返回的值。要取消引用,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 关注
- 158 浏览
添加回答
举报
0/150
提交
取消