您现在的位置是:首页 >技术教程 >go小知识网站首页技术教程
go小知识
简介go小知识
在 Go 语言中,var resp = make(map[string]any) 和 var resp map[string]any 的小区别。
它主要体现在变量的初始化方式上
1. var resp map[string]any
-
声明了一个空的
map变量,但没有初始化。 -
在 Go 中,未初始化的
map是nil,因此你不能直接向其添加元素或者进行其他操作,必须先初始化它才能使用。示例:
var resp map[string]any fmt.Println(resp) // 输出:map[](nil map) resp["key"] = "value" // 会引发 panic:assignment to entry in nil map
2. var resp = make(map[string]any)
-
声明并初始化了一个空的
map。这意味着resp不再是nil,而是一个已初始化的空map,可以直接使用和添加元素。示例:
var resp = make(map[string]any) fmt.Println(resp) // 输出:map[](已初始化的空 map) resp["key"] = "value" // 可以成功执行 fmt.Println(resp) // 输出:map[key:value]
总结:
var resp map[string]any声明了一个空的map,但没有初始化,因此其值为nil,需要手动初始化才能使用。var resp = make(map[string]any)声明并初始化了一个空的map,使得resp变为一个空的、可用的map。
通常来说,如果你打算使用该 map,建议使用 make 来初始化它,确保它不是 nil。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
U8W/U8W-Mini使用与常见问题解决
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结