一個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