亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何重置地圖地圖中的值

如何重置地圖地圖中的值

Go
揚帆大魚 2022-10-17 19:17:58
這是我的代碼{    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"]["knowledge"] = 310    fmt.Println(wizards)}在最后一行,我們得到:NOK無效操作:wizards["gandalf"]["knowledge"](類型接口{}不支持索引)
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

您不能使用它["key"]來訪問 golang 不知道的結構。因為它是interface{}甘道夫背后的價值,可以是任何東西。

    wizards["gandalf"] = map[string]int{
             "knowledge": 310,
    }

您必須指定要與之交互的數據類型。

游樂場:https ://goplay.tools/snippet/O62ara8JbUv


查看完整回答
反對 回復 2022-10-17
?
慕慕森

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"])


查看完整回答
反對 回復 2022-10-17
?
吃雞游戲

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)

}


查看完整回答
反對 回復 2022-10-17
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號