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 关注
- 119 浏览
添加回答
举报