一尘不染

golang append()已评估但未使用

go

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

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

不知道为什么 切片附加操作未运行…


阅读 361

收藏
2020-07-02

共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]

希望对您有所帮助。

2020-07-02