当前位置: 代码迷 >> 综合 >> GO:panic: assignment to entry in nil map
  详细解决方案

GO:panic: assignment to entry in nil map

热度:34   发布时间:2023-11-21 08:51:01.0

golang中map未初始化默认的是nil。如果向nil map写入键值数据会导致
panic: assignment to entry in nil map

例子

var numbers map[string]int
numbers = make(map[string]int)
numbers["one"] = 1  //赋值
numbers["ten"] = 10 //赋值
numbers["three"] = 3fmt.Println("第三个数字是: ", numbers["three"]) // 读取数据

如果没有第二行的分配内存,那么就会报如下错误:
在这里插入图片描述
但是slice在使用append像nil slice后追加元素就可以了,因为append方法在底层为slice重新分配了相关内存

  相关解决方案