map
基本概念
概念
- map: key-value 映射表;
- key 类型: 必须支持相等比较;
- value 类型: 任意 Go 类型;
- 零值:
nil,可读不可写;
func main() {
ages := map[string]int{"tom": 18}
println(ages["tom"])
}
创建和读写
func main() {
m := make(map[string]int)
m["a"] = 1
v, ok := m["b"] // 区分 key 不存在和 value 零值
delete(m, "a") // key 不存在也安全
println(v, ok, len(m))
}
遍历
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2}
for k, v := range m {
fmt.Println(k, v) // 遍历顺序不保证稳定
}
}