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...
Solution 1:
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.
Solution 2:
sliceA = append(sliceA, 4)
append()
returns a slice containing one or more new values.
Note that we need to accept a return value from append as we may get a new slice value.