1 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
msg.Vars["a"]對(duì)于 a和b 您可以msg.Vars["b"]分別訪問這些值。對(duì)于 d、f 和 g,您需要首先訪問它們的父項(xiàng),就像訪問 a 和 b 一樣。然后,您需要對(duì)該類型的map[string]interface{}訪問結(jié)果進(jìn)行類型斷言,然后通過類型斷言的結(jié)果訪問所需的字段。
fmt.Println(msg.Vars["a"]) // access a
fmt.Println(msg.Vars["b"]) // access b
c := msg.Vars["c"].(map[string]interface{}) // access c and type-assert as map[string]interface{}
fmt.Println(c["d"]) // then access d
https://go.dev/play/p/oZERUsL2EUY
或者使用與 json 匹配的結(jié)構(gòu),然后您可以使用選擇器表達(dá)式訪問字段
type Vars struct {
A int `json:"a"`
B string `json:"b"`
C struct {
D int `json:"d"`
} `json:"c"`
E struct {
F int `json:"f"`
G int `json:"g"`
} `json:"e"`
}
// ...
fmt.Println(msg.Vars.A)
fmt.Println(msg.Vars.B)
fmt.Println(msg.Vars.C.D)
fmt.Println(msg.Vars.E.F)
fmt.Println(msg.Vars.E.G)
https://go.dev/play/p/6ur78SNB_bL
- 1 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報(bào)