news 2026/5/12 1:55:25

Golang map取不存在的key时返回零值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Golang map取不存在的key时返回零值

现象

由于python的字典取不存在的key时会报错,误以为golang也是一样的。其实不然。

原因

golang的map取不存在的key时,并不会报错,而是会返回对应数据类型的零值,例子如下:

package main import "fmt" func main() { m := make(map[string]int) v := m["不存在"] // v = 0 (int 的零值) m2 := make(map[string]string) v2 := m2["不存在"] // v2 = "" (string 的零值) fmt.Printf("v: %v\n", v) fmt.Printf("v2: %v\n", v2) }

运行结果:

golang代码中常见的 value, ok := map[key] 这种写法,就是为了检测 key 是否存在。

这是比较容易犯错的地方,若在golang中取值时不对key是否存在进行判断,落库时拿到的数据格式可能与预期不符合,造成脏数据。这点要好好注意下。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 10:17:07

免费|不限速|不限流量|多架构|容器镜像服务---第3批同步:人工智能AI和机器学习领域的重要开源项目的超大43镜像仓库

第3批同步:人工智能AI和机器学习相关的超大镜像 人工智能AI和机器学习的快速发展离不开一些基础设施级的项目,如pytorch、langchain、tensorflow等。 这些项目的镜像目前主要以 AMD64 架构镜像为主,并且镜像往往很大,很多都是10…

作者头像 李华
网站建设 2026/5/3 4:44:07

大模型转行完全指南:从入门到避坑,7大方向+8大误区+最顺滑路径

本文为大模型转行新手提供全面指南,详细介绍NLP、计算机视觉等五大方向的能力要求与岗位匹配,揭示过度依赖理论、忽视基础等八大常见误区,并提供从基础学习到求职准备的六步路径。同时分享丰富的学习资源,包括路线图、教程、实战案…

作者头像 李华
网站建设 2026/5/10 9:59:45

Zotero重复条目终极解决方案:Zoplicate插件完整使用指南

Zotero重复条目终极解决方案:Zoplicate插件完整使用指南 【免费下载链接】zoplicate A plugin that does one thing only: Detect and manage duplicate items in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zoplicate Zotero重复条目管理是文献工…

作者头像 李华
网站建设 2026/5/10 9:06:18

Infinigen程序化世界生成终极指南:从零构建无限逼真场景

Infinigen程序化世界生成终极指南:从零构建无限逼真场景 【免费下载链接】infinigen Infinite Photorealistic Worlds using Procedural Generation 项目地址: https://gitcode.com/gh_mirrors/in/infinigen 想要快速掌握程序化生成技术,创建令人…

作者头像 李华