如何使用Golang实现Map操作_增删改查键值对示例

Go语言中map是原生类型,用make或字面量声明;增/改用ages[key]=val;查用age,ok:=ages[key]判存否;删用delete(ages,key),安全无panic。

Go语言中没有内置的“Map类”,而是直接提供 map 这一原生数据类型,语法简洁、性能高效。增删改查操作都通过标准语法完成,无需调用方法。

声明和初始化 map

使用 make 创建空 map,或用字面量直接初始化:

  • // 空 map,键为 string,值为 int
    ages := make(map[string]int)
  • // 带初始值的 map
    ages := map[string]int{"Alice": 30, "Bob": 25}

添加或修改键值对(增/改)

Go 中“添加”和“修改”使用同一语法:直接赋值。若键不存在则新增,存在则覆盖原值。

  • ages["Charlie"] = 35 // 新增
  • ages["Alice"] = 31 // 修改

查询键值对(查)

通过键获取值,同时可判断键是否存在,避免零值误判(如 int 默认是 0):

  • age, ok := ages["Alice"]
    ok == true,说明键存在,age 是对应值;否则键不存在,age 是 int 零值(0)。
  • 只取值(不关心是否存在):age := ages["David"] —— 若键不存在,返回零值。

删除键值对(删)

使用内置函数 delete,传入 map 和待删的键:

  • delete(ages, "Bob") —— 删除后再次访问会得到零值,且 ok 为 false。
  • delete 对不存在的键安全,不会 panic,也无副作用。