go语言如何在切片头部任意位置插入元素

go语言如何在切片头部任意位置插入元素,第1张

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/990642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存