package main import "fmt" func main() { //从开头开始删除(利用切片特性),移动数据指针 var a[]int a =[]int{1,2,3} a = a[1:] //删除开头1个元素 //a = a[N:] //删除开头N个元素 //使用append特性从开头删除元素,在原地完成,在原内存区间内完成 //不会导致内存空间结构的变化 a =[]int{1,2,3} a = append(a[:0],a[1:]...)//删除开头一个元素 //a = append(a[:0],a[N:1]...)//删除开头到n的元素 //从中间开始删除 /* var b[]int b =[]int{1,2,3} b = append(b[:i],b[i+1:]...)//删除中间一个元素 b = append(b[:i],b[i+N:]...)//删除中间n个元素 a = a[:i+copy(a[i:],a[i+1:])]//删除中间一个元素 a = a[:i+copy(a[i:],a[i+N:])]//删除中间n个元素 //从尾部删除 a = []int{1,2,3} a = a[:len(a)-1]//删除尾部一个元素 a = a[:len(a)-N]//删除尾部N个元素 */ seq:=[]string{"a","b","c","d","e"} //删除指定位置 index:=2 //查看删除位置之前的元素和之后的元素 fmt.Println(seq[:index],seq[index+1:]) //将删除之后的元素连接起来 seq = append(seq[:index],seq[index+1:]...)//左边内容插入右边的前面 fmt.Println(seq) }
golang学习之路-22从切片中删除元素
最新推荐文章于 2024-06-01 15:43:08 发布