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):
立即学习“go语言免费学习笔记(深入)”;
-
age, ok := ages["Alice"]
若 ok == true,说明键存在,age 是对应值;否则键不存在,age 是 int 零值(0)。 - 只取值(不关心是否存在):
age := ages["David"]—— 若键不存在,返回零值。
删除键值对(删)
使用内置函数 delete,传入 map 和待删的键:
-
delete(ages, "Bob")—— 删除后再次访问会得到零值,且ok为 false。 -
delete对不存在的键安全,不会 panic,也无副作用。










