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...
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.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With