【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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章