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...
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...
The key to understand is that slice is just a "view" of the underling array. You pass that view to the append function by value, the underling array gets modified, at the end the return value of append function gives you the different view of the underling array. i.e. the slice has more items in it
your code
sliceA := array[0:5] // sliceA is pointing to [0,5)
append(sliceA, 4) // sliceA is still the original view [0,5) until you do the following
sliceA = append(sliceA, 4)
reference: https://blog.golang.org/slices