映射
映射可以使用任意类型的键(只要这个类型可以使用==来比较)
var
testMap map
[keyType
]valueType
与切片一样,声明一个映射变量并不会自动创建一个映射,你需要调用make函数
1 | package main |
映射字面量
map
[keyType
]valueType
{ k1:v1, k2:v2 }
1 | package main |
映射零值
就像跟切片一样,映射变量的零值是nil。如果你声明了一个映射变量但是未赋值,它的值是nil。那意味着没有映射存在来增加键或者值。如果你尝试这么做,会产生一个panic。但是nil的切片可以通过append内置函数被赋值
如果你访问一个没有赋值过的key,你会得到一个value对应的零值
1 | package main |
区分赋值为0和零值
访问映射键的时候可选地获取第2个布尔类型的值。如果这个键已经被赋过值,那么返回true,否则返回false
1 | package main |
delete
通过内置函数delete删除映射的一个value
1 | package main |
遍历映射
可以使用for key,value := range
遍历映射,映射的遍历是无序的