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从切片中删除元素
Go语言切片删除元素详解
最新推荐文章于 2024-11-05 00:13:51 发布
本文详细介绍了在Go语言中如何使用切片特性来高效地删除数组中的元素,包括从开头、中间和尾部删除元素的方法。通过具体示例展示了如何利用append和copy函数实现元素的删除,并保持内存空间结构的稳定。
1200

被折叠的 条评论
为什么被折叠?



