Golang对元素slice并去重

Posted xuweiqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang对元素slice并去重相关的知识,希望对你有一定的参考价值。

参考博客:

https://blog.csdn.net/qq_27068845/article/details/77407358

封装的类似php的array_column

// ArrayColumn 获取二维数组某一个键值
func ArrayColumn(input []map[string]interface{},columnKey string) ([]interface{}){
    if len(input)==0 {
        return []interface{}{}
    }
    result := []interface{}{}
    // for i := 0; i < len(input); i++ {
    //     result = append(result, input[i][columnKey])
    // }
    for _,v := range input {
        fmt.Print(v[columnKey])
        result = append(result, v[columnKey])
    }
    return result
}

// ArrayUnique 数组去重
func ArrayUnique(input []string)([]string){
    result := []string{}
    // 存放不重复主键
    tempMap := map[string]byte{}
    for _, e := range input{
        l := len(tempMap)
        tempMap[e] = 0
        if len(tempMap) != l{
            // 加入map后,map长度变化,则元素不重复
            result = append(result, e)
        }
    }
    return result    
}

以上是关于Golang对元素slice并去重的主要内容,如果未能解决你的问题,请参考以下文章

golang实现es根据某字段分组,统计每组某一字段的数量,过滤空值并去重

golang实现es根据某字段分组,统计每组某一字段的数量,过滤空值并去重

golang实现es根据某字段分组,统计每组某一字段的数量,过滤空值并去重

golang实现es根据某字段分组,统计每组某一字段的数量,过滤空值并去重

golang slice去重

c两个数组合并去重