3 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
您不能使用它["key"]
來訪問 golang 不知道的結(jié)構(gòu)。因?yàn)樗?code>interface{}甘道夫背后的價(jià)值,可以是任何東西。
wizards["gandalf"] = map[string]int{ "knowledge": 310, }
您必須指定要與之交互的數(shù)據(jù)類型。
游樂場(chǎng):https ://goplay.tools/snippet/O62ara8JbUv

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
這是更簡單的方法:
一行代碼
wizards["gandalf"].(map[string]int)["knowledge"] = 110
完整示例:
saruman := map[string]int{
"power": 150,
"skills": 200,
"knowledge": 380,
}
gandalf := map[string]int{
"power": 180,
"skills": 210,
"knowledge": 240,
}
wizards := make(map[string]interface{})
wizards["saruman"] = saruman
wizards["gandalf"] = gandalf
// fmt.Println(wizards)
// OK map[gandalf:map[knowledge:240 power:180 skills:210] saruman:map[knowledge:380 power:150 skills:200]]
// change gandalf property
wizards["gandalf"].(map[string]int)["knowledge"] = 110
fmt.Println(wizards["gandalf"].(map[string]int)["knowledge"])

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
需要投。
{
saruman := map[string]int{
"power": 150,
"skills": 200,
"knowledge": 380,
}
gandalf := map[string]int{
"power": 180,
"skills": 210,
"knowledge": 240,
}
wizards := make(map[string]interface{})
wizards["saruman"] = saruman
wizards["gandalf"] = gandalf
fmt.Println(wizards)
//OK map[gandalf:map[knowledge:240 power:180 skills:210] saruman:map[knowledge:380 power:150 skills:200]]
//change gandalf property
wizards["gandalf"].(map[string]int)["knowledge"] = 10
fmt.Println(wizards)
}
- 3 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報(bào)