1
您可以在Go Playground上使用run the example code。爲什麼append()修改提供的slice? (見示例)
下面是代碼:
package main
import "fmt"
func main() {
numbers := []int{1, 2, 3, 4, 5}
fmt.Println(numbers)
_ = append(numbers[0:1], numbers[2:]...)
fmt.Println(numbers)
}
輸出:
[1 2 3 4 5]
[1 3 4 5 5]
爲什麼在numbers
片通過追加修改?這是預期的行爲,如果是的話,你能向我解釋爲什麼?我認爲append
不會修改它的參數。
您是否閱讀過[documentation](http://golang.org/ref/spec#Appending_and_copying_slices)?我認爲這很好地解釋了這種行爲。 – fuz