为了账号安全,请及时绑定邮箱和手机立即绑定

“分配到 nil 映射中的条目”,具有简单的接口分配不起作用

“分配到 nil 映射中的条目”,具有简单的接口分配不起作用

Go
UYOU 2022-08-01 10:32:36
我试图让自己熟悉围棋。我试过了:interface{}         var  m  map[string]string          m["time"] = "asdf"并得到错误:分配到 nil 映射中的条目我不确定为什么我得到这个错误。
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

当您声明如下变量时:


var  m  map[string]string

您的变量被分配了一个默认值 ,即 ,它不是空映射。这就是您收到该错误的原因,您正在尝试向 nil 映射添加一个值。mmapnil


要初始化空映射,您可以尝试以下任一操作:


var m map[string]string = map[string]string{}

m := make(map[string]string)

m := map[string]string{}

这是一篇关于所有 Go 类型的默认值的文章。


查看完整回答
反对 回复 2022-08-01
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

映射 m 的值为零。


make 函数分配并初始化哈希映射数据结构,并返回指向该结构的映射值。


m := make(map[string]string)

m["time"] = "asdf"

使用规格的制作部分读取分配。


查看完整回答
反对 回复 2022-08-01
  • 2 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信