如何在golang中从切片中删除重复元素

问题描述 投票:0回答:1

我有一个返回一片切片的函数。

[[-1 -1 2] [-1 0 1] [-1 0 1]]

尝试一种映射方法是行不通的,因为切片不能作为键。我如何删除这里的重复元素。

go slice
1个回答
0
投票

使用

slices.CompactFunc
,您可以提供自己的函数来测试切片元素的相等性。或者您可以使用同一个包中的
slices.Equal

import (
    "fmt"
    "slices"
)

func main() {
    s := [][]int{{-1, -1, 2}, {-1, 0, 1}, {-1, 0, 1}}
    s = slices.CompactFunc(s, slices.Equal)
    fmt.Println(s)
}

请注意,

slices.Compact
slices.CompactFunc
会删除连续相同的元素。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.