首页 > 其他 > 详细

Golang对元素slice并去重

时间:2020-01-17 18:56:16      阅读:75      评论:0      收藏:0      [点我收藏+]

参考博客:

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!