【go】go错误,panic:assignment to entry in nil map 问题记录

一个go的map相关的panic错误

背景:在获取多个数据时,从数据库取到多条数据,需要把多条数据返回给前端,定义一个res返回值,为map[string]any类型,在赋值后运行发生 panic:assignment to entry in nil map

原因在声明map类型的变量后,直接进行赋值操作,此时未初始化该变量,所以它的值是nil, 不指向任何内存地址,直接赋值时发生panic
解决需要通过make方法分配确定的内存地址。

// 错误代码
var resData map[string]any
res["data"] = data
res["status"] = 0
// 正确代码
resData := make(map[string]any)
res["data"] = data
res["status"] = 0
posted @ 2024-03-06 17:09  alisleepy  阅读(200)  评论(0编辑  收藏  举报