【golang】Go实现set类型

本文介绍了在Go语言中如何实现Set数据结构,利用map的key不可重复特性,结合空结构体作为value,来创建一个不允许重复元素的集合。文中详细讲解了Set的构造、添加、删除、获取长度、清空、遍历等操作的实现方法。
摘要由CSDN通过智能技术生成

【golang】Go实现set类型

如何实现set

Go中是不提供Set类型的,Set是一个集合,其本质就是一个List,只是List里的元素不能重复。

Go提供了map类型,但是我们知道,map类型的key是不能重复的,因此,我们可以利用这一点,来实现一个set。那value呢?value我们可以用一个常量来代替,比如一个空结构体,实际上空结构体不占任何内存,使用空结构体,能够帮我们节省内存空间,提高性能

下面看看两种结构体的声明方法

type Empty struct { }

func main(){
    empty := new(Empty)
    fmt.Println(unsafe.Sizeof(empty)) //
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值