3 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)您聲明這樣的變量時(shí):
var m map[string]string
您的m變量分配有默認(rèn)值map,即nil,而不是空映射。這就是您收到該錯(cuò)誤的原因,您正在嘗試將值添加到 nil 映射。
要初始化一個(gè)空地圖,您可以嘗試以下任何一種方法:
var m map[string]string = map[string]string{}
m := make(map[string]string)
m := map[string]string{}
這是一篇關(guān)于所有 Go 類型的默認(rèn)值的文章。

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
您需要使用 make(built-in function) like make(map[string]string, 0)
來(lái)初始化地圖
https://golang.org/doc/effective_go.html#allocation_make
https://golang.org/doc/effective_go.html#maps

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
地圖 m 的值為 nil。
make 函數(shù)分配并初始化一個(gè)哈希映射數(shù)據(jù)結(jié)構(gòu),并返回一個(gè)指向它的映射值。
m := make(map[string]string)m["time"] = "asdf"
使用規(guī)范的 make 部分讀取分配。
- 3 回答
- 0 關(guān)注
- 100 瀏覽
添加回答
舉報(bào)