1 回答
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
我的問(wèn)題是我不知道如何通過(guò) id 對(duì)地圖進(jìn)行鍵控
您無(wú)法為地圖建立索引,因?yàn)槟鷽](méi)有任何地圖。
您的輸入 JSON 是一個(gè) JSON 數(shù)組,因此您可以將其解組到 Go 切片中。之后你必須自己構(gòu)建一個(gè) Go 地圖。然后您可以通過(guò)以下方式索引該地圖Id:
m := map[string]*Item{}
for i := range data {
m[data[i].Id] = &data[i]
}
fmt.Println(m)
fmt.Println(m["086687173"])
fmt.Println(m["078382574"])
這將輸出(在Go Playground上嘗試):
[{086687173 5} {078382574 3}] <nil>
map[078382574:0x43015c 086687173:0x430150]
&{086687173 5}
&{078382574 3}
請(qǐng)注意,如果您最初使用指針 slice []*Item,則創(chuàng)建映射會(huì)更簡(jiǎn)單:
m := map[string]*Item{}
for _, item := range data {
m[item.Id] = item
}
輸出是一樣的。在Go Playground上試試這個(gè)。
- 1 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)
