golang如何删除数组中的元素

Slice删除元素的本质

Go语⾔并没有提供⽤于删除元素的语法或接⼝,⽽是通过利⽤切⽚本⾝的特性来删除元素——追加元素。即 以被删除元素为分界点,将前后两个部分的内存重新连接起来。

使⽤切⽚的追加(append)特性,利⽤代码实现。

Slice删除元素的实现:

由于切⽚没有语法糖实现删除,因此利⽤其追加元素的特性完成元素的删除操作;通过内建函数 append() 实现对单个元素以及元素⽚段的删除。

具体的思路就是

golang如何删除数组中的元素

具体的代码实现如下所⽰:

// 从切⽚中删除元素

func SliceDelete(){

// 初始化⼀个新的切⽚ seq

seq :=[]string{"a","b","c","d","e","f","g"}

// 指定删除位置

index :=3

// 输出删除位置之前和之后的元素

fmt.Println(seq[:index], seq[index+1:])

// seq[index+1:]... 表⽰将后段的整个添加到前段中

// 将删除前后的元素连接起来

seq =append(seq[:index], seq[index+1:]...)

// 输出链接后的切⽚

fmt.Println(seq)

}

OutPut Result:

[a b c][e f g]

[a b c e f g]

Slice删除元素的操作过程

golang如何删除数组中的元素

转载与