一尘不染

golang append() 已评估但未使用

go

func main(){
     var array [10]int
     sliceA := array[0:5]
     append(sliceA, 4)
     fmt.Println(sliceA)
}

错误:append(sliceA, 4) 已评估但未使用

我不知道为什么?切片追加操作未运行…


阅读 262

收藏
2021-12-16

共1个答案

一尘不染

在 Go 中,参数是按值传递的。

典型append用法是:

a = append(a, x)

你需要写:

func main(){
    var array [10]int
    sliceA := array[0:5]
    // append(sliceA, 4)  // discard
    sliceA = append(sliceA, 4)  // keep
    fmt.Println(sliceA)
}

输出

[0 0 0 0 0 4]

我希望它有帮助。

2021-12-16