您可以在 Go Playground 上运行示例代码。
这是代码:
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 修改了?这是预期的行为吗?如果是,你能向我解释为什么吗?我认为append
不会修改它的论点。