Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。
一.基本语法 var a map[int]string //var 变量名 map[key的数据类型]values数据类型 //map的空值 nil if a==nil{ fmt.Println(a) } //a如果没有make操作将无法进行赋值 //进行了make操作a也不再是nil //对于map进行赋值 func main(){ var a map[int]string a = make(map[int]string) a[1]="ssss" fmt.Println(a) }
oldbucket数据等待被访问时做迁移 字典 用途 k-v键值的存储 hash(散列)存储 结构图 字典中采用ht0和ht1来支持扩容,ht1只有扩容时才会用到 哈希冲突也是采用链地址法,冲突部分形成一个单链表 go-map