您可以在 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不会修改其论点。
相关分类