map的创建
m := map[string]sttring{"key":"value"}
m2 := make(map[string]int) //m2 是 empty map
var m3 map[string]int //m3 值为 nil
map的遍历
for k,v := range m{
}
需要注意的是每次遍历的顺序可能是不一样的,如果要排序需要手动对key排序。–将key加到一个slice里面,对slice排序,排序完成后再去遍历map。
len可以获得长度
map的操作
value,isExist := m["key"] //获取key的值
//如果key不存在,则是取到zero value。
if value,isExist :=m["key"];isExist {
}else{
}
delete(m,"key")//删除元素
map的key
1.map使用的是哈希表,必须可以比较相等。
2.除了slice,map,和函数的内建类型,都可以作为key
3.自定义类型Struct如果不包含2中的字段,也可以作为key。