美文网首页
Go语言数组去重

Go语言数组去重

作者: charmingBueaty | 来源:发表于2021-05-10 15:08 被阅读0次

在使用Go语言的时候,碰到了需要对数组进行去重操作的问题。Java语言有Set集合这个数据结构,可以很方便的将数组转为集合,但是Go语言没有Set,如果仅仅是因为去重操作就手动实现一个Set太繁琐了。可以根据Go语言中的map的特性来简单实现一下

func main() {
    list := []string {"hello", "hello"}
    list = removeRepeatElement(list)
    fmt.Println(list)
}

func removeRepeatElement(list []string) []string{
    // 创建一个临时map用来存储数组元素
    temp := make(map[string]bool)
    index := 0
    for _, v := range list {
        // 遍历数组元素,判断此元素是否已经存在map中
        _, ok := temp[v]
        if ok {
            list = append(list[:index], list[index+1:]...)
        } else {
            temp[v] = true
        }
        index++
    }
    return list
}
// 输出:
// [hello]

这个是对字符串数组去重操作。可以根据需要的类型稍作修改即可。需要注意的是只支持可以作为map键的结构进行去重!

相关文章

  • Go语言数组去重

    在使用Go语言的时候,碰到了需要对数组进行去重操作的问题。Java语言有Set集合这个数据结构,可以很方便的将数组...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • 11-Go语言数组和切片-指趣学院

    数组 和C语言一样,Go语言中也有数组的概念, Go语言中的数组也是用于保存一组相同类型的数据 和C语言一样,Go...

  • go语言array, slice, map(四)

    array go语言数组,定义方法如下: var arr [n]type 声明方法 go语言也支持多维数组 sli...

  • Go学习随笔(三)

    Go语言数组 var 数组名 [数组长度]元素类型{初始化元素} Go语言中数组内部元素默认初始化为0 var 数...

  • Golang 学习笔记二 数组、切片

    一、数组 《快学 Go 语言》第 4 课 —— 低调的数组Go 语言里面的数组其实很不常用,这是因为数组是定长的静...

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • 七、Go切片

    七、Go语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就...

  • Go语言数组和切片

    此处数组只讲Go语言中和C语言不一样的地方 格式不同:Go语言定义数组的格式:var ages [3]int 定义...

网友评论

      本文标题:Go语言数组去重

      本文链接:https://www.haomeiwen.com/subject/jzdidltx.html