Map 声明,初始化,和make
go中的map相当于PHP中的关联数组,(key=>value关系集合),不同在于go中的必须指定key和value的数据类型,且是无序的,不会按照插入的顺序排序
声明
map中key 可以是任意可以用 == 或者 != 操作符比较的类型,比如 string、int、float。所以数组、切片和结构体不能作为 key ,value可以是任意类型
1 | package main |
容量
map的容量可以动态扩容的,在声明时候可以不指定长度
读取,查找,删除元素
1 | package main |
for-range
1 | package main |
排序
map 默认是无序的,不管是按照 key 还是按照 value 默认都不排序
如果你想为 map 排序,需要将 key(或者 value)拷贝到一个切片,再对切片排序(使用sort包),然后可以使用切片的 for-range 方法打印出所有的 key 和 value。
1 | package main |