Go语言切片删除元素

Go语言切片删除元素教程

Go 语言切片 删除前 N 个元素与后 N 个元素可以使用索引切片来间接的实现。

删除切片前N个元素

语法

sliceHaiCoder = sliceHaiCoder[N:]

参数

参数 描述
sliceHaiCoder 要删除元素的切片。
N 要删除的元素的个数。

说明

使用索引切片的形式,间接实现了删除切片前 N 个元素的效果。

删除切片后N个元素

语法

sliceHaiCoder = sliceHaiCoder[:len(sliceHaiCoder)-N]

参数

参数 描述
sliceHaiCoder 要删除元素的切片。
N 要删除的元素的个数。

说明

使用索引切片的形式,间接实现了删除切片后 N 个元素的效果。

案例

删除切片第一个元素

使用索引切片的形式,实现删除切片第一个元素

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用索引切片的形式,实现删除切片第一个元素 var sliceHaiCoder = []string{"Hello", "HaiCoder", "嗨客网", "Python", "Golang"} sliceHaiCoder = sliceHaiCoder[1:] fmt.Println("sliceHaiCoder =", sliceHaiCoder) }

程序运行后,控制台输出如下:

45 golang删除切片元素.png

我们首先创建了一个有五个元素的切片,接着,我们使用索引切片的形式将原切片的索引为 1 的之后的所有元素取出来赋值给原有切片,实现了删除原有切片的第一个元素。

删除切片最后一个元素

使用索引切片的形式,实现删除切片最后一个元素

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用索引切片的形式,实现删除切片最后一个元素 var sliceHaiCoder = []string{"Hello", "HaiCoder", "嗨客网", "Python", "Golang"} sliceHaiCoder = sliceHaiCoder[:len(sliceHaiCoder)-1] fmt.Println("sliceHaiCoder =", sliceHaiCoder) }

程序运行后,控制台输出如下:

46 golang删除切片元素.png

我们首先创建了一个有五个元素的切片,接着,我们使用索引切片的形式将原切片的索引为长度减一的之后的所有元素取出来赋值给原有切片,实现了删除原有切片的最后一个元素。

删除切片前三个元素

使用索引切片的形式,实现删除切片前三个元素

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用索引切片的形式,实现删除切片前三个元素 var sliceHaiCoder = []string{"Hello", "HaiCoder", "嗨客网", "Python", "Golang"} sliceHaiCoder = sliceHaiCoder[3:] fmt.Println("sliceHaiCoder =", sliceHaiCoder) }

程序运行后,控制台输出如下:

47 golang删除切片元素.png

我们首先创建了一个有五个元素的切片,接着,我们使用索引切片的形式将原切片的索引为 3 的之后的所有元素取出来赋值给原有切片,实现了删除原有切片的前三个元素。

删除切片后三个元素

使用索引切片的形式,实现删除切片后三个元素

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用索引切片的形式,实现删除切片后三个元素 var sliceHaiCoder = []string{"Hello", "HaiCoder", "嗨客网", "Python", "Golang"} sliceHaiCoder = sliceHaiCoder[:len(sliceHaiCoder)-3] fmt.Println("sliceHaiCoder =", sliceHaiCoder) }

程序运行后,控制台输出如下:

48 golang删除切片元素.png

我们首先创建了一个有五个元素的切片,接着,我们使用索引切片的形式将原切片的索引为 0 到长度减 3 的之后的所有元素取出来赋值给原有切片,实现了删除原有切片的后三个元素。

Go语言切片删除元素总结

删除切片的第一个元素语法:

sliceHaiCoder = sliceHaiCoder[1:]

删除切片的最后一个元素语法:

sliceHaiCoder = sliceHaiCoder[:len(sliceHaiCoder)-1]

删除切片前 N 个元素语法:

sliceHaiCoder = sliceHaiCoder[N:]

删除切片后 N 个元素语法:

sliceHaiCoder = sliceHaiCoder[:len(sliceHaiCoder)-N]