我試圖讓自己熟悉圍棋。我試過(guò)了:interface{} var m map[string]string
m["time"] = "asdf"并得到錯(cuò)誤:分配到 nil 映射中的條目我不確定為什么我得到這個(gè)錯(cuò)誤。
2 回答

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)您聲明如下變量時(shí):
var m map[string]string
您的變量被分配了一個(gè)默認(rèn)值 ,即 ,它不是空映射。這就是您收到該錯(cuò)誤的原因,您正在嘗試向 nil 映射添加一個(gè)值。mmapnil
要初始化空映射,您可以嘗試以下任一操作:
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)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
映射 m 的值為零。
make 函數(shù)分配并初始化哈希映射數(shù)據(jù)結(jié)構(gòu),并返回指向該結(jié)構(gòu)的映射值。
m := make(map[string]string)
m["time"] = "asdf"
使用規(guī)格的制作部分讀取分配。
- 2 回答
- 0 關(guān)注
- 111 瀏覽
添加回答
舉報(bào)
0/150
提交
取消