跳到主要内容

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) // 遍历顺序不保证稳定
}
}