温馨提示×

golang怎么删除数组中指定元素

小亿
93
2024-01-10 10:31:02
栏目: 编程语言

在Go语言中,数组的长度是不可变的,因此无法直接删除数组中的元素。但是我们可以通过创建一个新的数组,将不需要删除的元素复制到新数组中来“删除”指定元素。下面是一个示例代码:

package main

import "fmt"

func removeElement(arr []int, elem int) []int {
    result := make([]int, 0)

    for _, val := range arr {
        if val != elem {
            result = append(result, val)
        }
    }

    return result
}

func main() {
    arr := []int{1, 2, 3, 4, 5}
    elem := 3

    newArr := removeElement(arr, elem)

    fmt.Println(newArr) // 输出: [1 2 4 5]
}

在上述代码中,我们定义了一个名为removeElement的函数,该函数接受一个整数切片和一个整数作为参数。在函数内部,我们创建了一个新的空切片result,然后遍历原始切片arr的每个元素。如果元素不等于要删除的元素elem,则将其追加到新切片result中。最后,函数返回新切片。

main函数中,我们定义了一个初始切片arr和要删除的元素elem为3。然后,我们调用removeElement函数,并将结果保存在newArr中。最后,我们打印出newArr,它将不包含元素3的切片。

0