panic: assignment to entry in nil map

定义一个新的map,然后在map中添加键值对,却报了错误
assignment to entry in nil map

var dataMa map[int]int
dataMap[3]=7

golang中map是引用类型,应用类型的变量未初始化时默认的zero value是nil。直接向nil map写入键值数据会导致运行时错误panic: assignment to entry in nil map

因为在声明dataMap后并未初始化它,所以它的值是nil, 不指向任何内存地址。需要通过make方法分配确定的内存地址。程序修改后即可正常运行:

dataMap:=make(map[int]int)
dataMap[3]=7

你可能感兴趣的:(问题排查记录,golang,开发语言,后端)