Golang中map用于存储无序键值对,支持高效查找、插入和删除。1. 声明方式包括var声明(初始为nil)、make创建(推荐)和字面量初始化;2. 可通过m[key]=value添加或更新元素;3. 直接访问返回零值,安全获取需用ok判断键存在;4. delete函数删除键值对;5. for-range遍历,顺序不定;6. 键类型须可比较,slice、map、func不可作键;7. map为引用类型,传递即共享;8. nil map不可写入,须先初始化。掌握这些即可熟练使用map。

在Golang中,map是一种内置的数据结构,用来存储无序的键值对(key-value pairs)。它类似于其他语言中的哈希表或字典。使用map可以高效地根据键快速查找、插入和删除对应的值。
声明和初始化map
你可以通过多种方式声明和初始化一个map:
使用 var 声明,初始值为 nil:
var m map[string]int
此时 m 为 nil,不能直接赋值,必须先初始化。 使用 make 函数创建 map:
m := make(map[string]int)
这是推荐的方式,创建了一个空的 map,可以立即使用。 使用字面量初始化:
m := map[string]int{“apple”: 1, “banana”: 2}
直接定义键值对,适合已知数据的情况。
操作map中的键值对
常见操作包括添加、访问、修改和删除元素:
添加或更新元素:
m[“orange”] = 3
如果键不存在则添加,存在则更新。 获取值:
value := m[“apple”]
如果键不存在,会返回值类型的零值(如 int 为 0)。 安全获取(判断键是否存在):
value, exists := m[“grape”]
若键存在,exists 为 true;否则为 false,避免误用零值。 删除键值对:
delete(m, “banana”)
使用 delete 函数按键删除条目。
遍历map
使用 for-range 可以遍历map的所有键值对:
立即学习“go语言免费学习笔记(深入)”;
for key, value := range m {
fmt.Println(key, value)
}
注意:map是无序的,每次遍历的顺序可能不同。
注意事项
map的键类型必须是可比较的,例如 string、int、float 等,但 slice、map 和 function 不能作为键。 map是引用类型,传递给函数时不会拷贝整个结构,修改会影响原map。 nil map 不能写入,必须用 make 初始化后再使用。
基本上就这些。掌握声明、增删改查和遍历,就能在日常开发中熟练使用map了。不复杂但容易忽略细节,比如判断键是否存在,这在实际编码中很关键。
以上就是如何在Golang中使用map存储键值对的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1415395.html
微信扫一扫
支付宝扫一扫