去掉slice中重复的数据类型

jh5201314 · 2019-01-04 11:44:03 · 1033 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2019-01-04 11:44:03 的文章,其中的信息可能已经有所发展或是发生改变。

去重

去掉slice中重复的数据

package main

import (
    "fmt"
)

func main() {
    orderIds := make([]int64, 0)
    orderIds = []int64{1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 5}

    // 最直接的方式
    slice := make([]interface{}, len(orderIds))
    for i := range orderIds {
        slice[i] = orderIds[i]
    }
    slice = removeDuplicate(slice)

    fmt.Println(slice)
}

// 去掉slice中重复的元素
func removeDuplicate(slice []interface{}) []interface{} {
    newSlice := make([]interface{}, 0, len(slice))

    for _, old := range slice {
        isExist := false
        for _, new := range newSlice {
            if new == old {
                isExist = true
                break
            }
        }

        if !isExist {
            newSlice = append(newSlice, old)
        }
    }

    return newSlice
}

by zzj


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1033 次点击  
加入收藏 微博
3 回复  |  直到 2019-01-10 00:23:16
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传