go语言自带的append,只能在切片的末尾加入元素,但如果要在开头加入元素的话,这样写是会报错的
a := []int{1, 2}
a :=append([]int{1},a)
因为append的第二个参数只能是元素(可以是不定长元素),而不能是切片,
func append(slice []Type, elems ...Type) []Type
所以得这样写
a := []int{1, 2}
a :=append([]int{1},a...)
还有一种写法更通用,可以在任意位置插入元素,供参考
a := []int{1, 2, 3, 4, 5}
a := append(a, 0) //先把原来的切片长度+1
index := 2 //要把新元素插入到第二个位置
copy(a[index+1:], a[index:])
a[index] = 0 //新元素的值是0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)