golang 删除切片中指定元素

要删除某切片中符合条件的元素,如果在遍历切片时删除,会引发恐慌,可以使用下面的方法。

比如切片是 从1到9的数字,要删除其中可以整除3的数字,也就是3、6、9

func f() { 
    slice := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} 

    k := 0 
    for _, n := range slice { 
     if n%3 != 0 { // filter 
      slice[k] = n 
      k++ 
     } 
    } 
    slice = slice[:k] 

    fmt.Println(slice) //[1 2 4 5 7 8] 
} 

 

 
posted on 2022-04-13 11:12  杜景喜  阅读(667)  评论(0编辑  收藏  举报