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

我试图让自己熟悉围棋。我试过了:interface{}

         var  m  map[string]string
         m["time"] = "asdf"

并得到错误:

分配到 nil 映射中的条目

我不确定为什么我得到这个错误。


UYOU
浏览 81回答 2
2回答

潇潇雨雨

当您声明如下变量时: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 类型的默认值的文章。

米琪卡哇伊

映射 m 的值为零。make 函数分配并初始化哈希映射数据结构,并返回指向该结构的映射值。m := make(map[string]string)m["time"] = "asdf"使用规格的制作部分读取分配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go