golang append() evaluated but not used
Per the Go docs:
The resulting value of append is a slice containing all the elements of the original slice plus the provided values.
So the return value of 'append', will contain your original slice with the appended portion.
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.
you may try this:
sliceA = append(sliceA, 4)
built-in function append([]type, ...type)
returns an array/slice of type, which should be assigned to the value you wanted, while the input array/slice is just a source. Simply, outputSlice = append(sourceSlice, appendedValue)
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.