看了Go语言的书后发现它有切片和map类型,但是没有Set类型,那么这时候如果需要用到Set类型如何实现呢?
借助map和struct就可以很轻易的实现,利用两个特点:
1、map的key是不会重复的
2、struct{}是占用0内存空间的


// 先定义map类型,key为int32,value为struct{}
var mySet map[int32]struct{}
// 使用make为map分配内存并初始化
mySet = make(map[int32]struct{})
// 使用mySet
mySet[0] = struct{}{}
mySet[100] = struct{}{} 

struct{}{}的定义

 struct{}  {}
|  ^     | ^
  type     empty element list