Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Golang的map类型基本操作有哪些 详解增删改查的标准写法_创想鸟

Golang的map类型基本操作有哪些 详解增删改查的标准写法

在go语言中,map的操作包括添加、修改、查询、删除和遍历。1. 添加或修改元素使用mymap[key] = value,若key不存在则新增,存在则覆盖;使用前必须初始化map,如mymap := make(map[string]int)。2. 查询时使用value, exists := mymap[key]判断键是否存在,避免误用零值。3. 删除键值对使用delete(mymap, key),无需判断是否存在。4. 遍历使用for key, value := range mymap,但顺序无序,需手动排序实现有序输出。掌握这些标准写法可避免运行时错误。

Golang的map类型基本操作有哪些 详解增删改查的标准写法

在Go语言中,map是一种非常常用的数据结构,用于存储键值对(key-value pairs)。它的基本操作包括增、删、改、查,这些操作虽然简单,但掌握标准写法可以避免运行时错误和空指针问题。下面我们就来详细看看这些操作的标准写法。

Golang的map类型基本操作有哪些 详解增删改查的标准写法

如何向map中添加或修改元素

在Go中,添加和修改操作其实是一样的语法:

Golang的map类型基本操作有哪些 详解增删改查的标准写法

myMap[key] = value

如果这个 key 不存在,就会新增一个键值对;如果已经存在,就会覆盖原来的值。

立即学习“go语言免费学习笔记(深入)”;

注意点:

Golang的map类型基本操作有哪些 详解增删改查的标准写法使用前必须确保 map 已经初始化,否则会触发 panic。初始化方式一般为:myMap := make(map[string]int) 或者直接字面量:myMap := map[string]int{}

举个例子:

m := make(map[string]int)m["a"] = 1 // 添加m["a"] = 2 // 修改

怎么判断某个键是否存在并进行查询

查询某个 key 是否存在,使用如下写法:

value, exists := myMap[key]

这里的 exists 是一个布尔值,表示该 key 是否存在。

常见用法:

判断是否存在后再做处理避免访问未初始化的 key 导致误用零值

示例:

if v, ok := m["b"]; ok {    fmt.Println("存在:", v)} else {    fmt.Println("不存在")}

这种方式比直接访问更安全,因为即使 key 不存在,返回的也是对应类型的零值(比如 int 是 0),无法区分“真的存在0”还是“不存在”。

删除map中的键值对

删除操作使用内置函数 delete():

delete(myMap, key)

无论 key 是否存在,这个操作都不会报错。

使用建议:

删除后再次访问该 key 会返回零值和 false不需要手动置空或赋值 nil

例如:

delete(m, "a") // 删除 key "a"

如果你不确定是否要删除,通常会先检查是否存在,再决定是否删除:

if _, ok := m["a"]; ok {    delete(m, "a")}

map遍历的基本方法

使用 for range 可以遍历 map 的所有键值对:

for key, value := range myMap {    fmt.Println(key, "=>", value)}

注意事项:

每次遍历顺序可能不同,Go 的 map 遍历是无序的如果你需要有序输出,需要自己将 key 排序后再遍历

例如按 key 排序输出:

keys := make([]string, 0, len(myMap))for k := range myMap {    keys = append(keys, k)}sort.Strings(keys)for _, k := range keys {    fmt.Println(k, "=>", myMap[k])}

基本上就这些了。map 的操作看起来不复杂,但在实际使用中容易忽略初始化、是否存在判断等问题。只要注意这些细节,就能写出稳定可靠的代码。

以上就是Golang的map类型基本操作有哪些 详解增删改查的标准写法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1395612.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Go-OpenGL矩阵操作指南:确保OpenGL上下文正确初始化
上一篇 2025年12月15日 12:54:15
Go语言版本升级指南:平滑迁移到最新特性
下一篇 2025年12月15日 12:54:29

相关推荐

发表回复

登录后才能评论
关注微信