新博客地址(shankusu.me)

golang 对 slice 的操作全在 [:] 中 和 append

// 删除切片的第三个元素
sslice := []int{0,1,2,3,4}
sslice = append(sslice[:2], sslice[3:]...)

1. sslice[A:B], 包涵 A, 不包括 B; 若 A = B,不包涵 A,所以删除第一个元素的写法为

sslice = append(sslice[:0], sslice[1:])   -- 删除第一个元素

 2 .append 第一个参数为 切片, 第二(三,四)个参数为 元素, 若为 切片, 可以使用 ... 分解 (析构) 为元素

删除单个元素值

func delItem(vs []string, s string) []string {
	maxIdx := len(vs) - 1
	for i := maxIdx; i >= 0; i-- {
		if s == vs[i] {
			vs = append(vs[:i], vs[i+1:]...)
		}
	}
	return vs
}