golang学习笔记之slice元素删除

golang slice元素删除非常方便,可以直接在循环遍历的时候删除,而不用担心程序崩溃,结果也是和预期一致;

示例代码如下:

package main

import (
	    "fmt"
)

func main() {
    var infoSlice []int
    infoSlice = append(infoSlice, 1)
    infoSlice = append(infoSlice, 2)
    infoSlice = append(infoSlice, 3)
    infoSlice = append(infoSlice, 4)
    infoSlice = append(infoSlice, 5)

    for idx, v := range infoSlice {
        if 3 == v {
            infoSlice = append(infoSlice[:idx], infoSlice[idx+1:]...)
        }
    }

    fmt.Println(infoSlice)
}

输出结果如下:

[1 2 4 5]

infoSlice[:idx]将slice先进行截断,保留前面下标为0~idx的元素, infoSlice[idx+1:]… 表示将下标为idx+1后面的元素逐个加入到infoSlice[:idx]里

你可能感兴趣的:(golang学习笔记之slice元素删除)