3 回答

TA貢獻1898條經驗 獲得超8個贊
您不能使用它["key"]
來訪問 golang 不知道的結構。因為它是interface{}
甘道夫背后的價值,可以是任何東西。
wizards["gandalf"] = map[string]int{ "knowledge": 310, }
您必須指定要與之交互的數據類型。
游樂場:https ://goplay.tools/snippet/O62ara8JbUv

TA貢獻1856條經驗 獲得超17個贊
這是更簡單的方法:
一行代碼
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貢獻1829條經驗 獲得超7個贊
需要投。
{
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 關注
- 154 瀏覽
添加回答
舉報