Golang append() evaluated but not used

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

Error : append(sliceA, 4) evaluated but not used

I don’t Know why? The slice append operation is not run…

1 Like

Refer: Appending to and copying slices

In Go, arguments are passed by value.

Typical append usage is:

a = append(a, x)

You need to write:

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

Output :

[0 0 0 0 0 4]

I hope it helps.

1 Like