码迷,mamicode.com
首页 > 其他好文 > 详细

Golang对元素slice并去重

时间:2020-01-17 19:20:50      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:input   slice   res   数组   pre   元素   ice   ola   str   

参考博客:

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并去重

标签:input   slice   res   数组   pre   元素   ice   ola   str   

原文地址:https://www.cnblogs.com/xuweiqiang/p/12206966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!