golang的map到底要不要初始化

哈哈gogo 2021-04-22 10:58:48
一直都是初始化的,如
test:=make(map[string]string)
发现这样不初始化也可以直接使用,
var test map[string]string
这两者有什么区别吗
...全文
1037 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ying1234 2021-04-30
  • 打赏
  • 举报
回复 1
test:=make(map[string]string) 对map初始化并在内存有一块区域给test用了,所以你可以在以后写入数据 test["name"]="aa" var test map[string]string 只是声明,并没有在内存中申请一块,所以你不能直接在后面写入数据test["name"]="aa",报错:panic: assignment to entry in nil map
李睿_Lee 2021-04-22
  • 打赏
  • 举报
回复
请先了解一下make和var的含义,以及:=代表什么,你就没有疑问了。

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧