尝试删除切片中的元素时,我看到了一些意外行为。下面是我的代码:
package main
import "fmt"
func main() {
x := []int{1,2,3,4,5,6,7,8}
y := append(x[:3],x[4:]...)
fmt.Println(x)
fmt.Println(y)
}
输出是:
[1 2 3 5 6 7 8 8]
[1 2 3 5 6 7 8]
我希望输出是:
[1 2 3 4 5 6 7 8]
[1 2 3 5 6 7 8]
为什么结果不是我预期的?
换句话说,由于没有更改值的赋值,x我希望它具有相同的初始化值,但由于某种原因,它没有并且具有y与复制的最后一个元素相同的值。这是一个错误吗?
千巷猫影
隔江千里
相关分类