导航菜单

Go语言Map与结构体

Map基础

Map是Go内置的无序键值对集合,常用于字典、索引等场景。

// 声明和初始化
var m1 map[string]int           // nil map,需先make
m2 := make(map[string]int)      // 空map
m3 := map[string]int{"Tom": 18, "Jerry": 20}

// 增删改查
m2["Alice"] = 25               // 添加或修改
age := m2["Alice"]              // 查询
v, ok := m2["Bob"]              // 判断key是否存在
if ok {
    fmt.Println("Bob的年龄:", v)
}
delete(m2, "Alice")             // 删除key

// 遍历
for k, v := range m3 {
    fmt.Println(k, v)
}
  • Map是引用类型,赋值和传参不会复制底层数据。
  • 查询不存在的key返回零值。
  • 用delete删除key。