我有這個結構用于從 Json 字串中獲取資料。
type msg struct {
Msg1 string `json:"msg1"`
Msg2 string `json:"msg2"`
Msg3 string `json:"msg3"`
}
我需要像下面這樣使用這個結構。
num := // some random number under 3
data := msg.Msg num // as msg.Msg1, msg.Msg2...
我怎樣才能在 Go 語言中做到這一點?
我搜索了很多,但找不到任何好的解決方案。
uj5u.com熱心網友回復:
如何在 Go 語言中為結構使用動態鍵?
你根本做不到。這在 Go 中是不可行的。
(如果需要,請使用地圖。)
uj5u.com熱心網友回復:
只是向您展示如何使用 Json 和 Map,可能會有所幫助
package main
import (
"fmt"
"encoding/json"
)
type sample struct{
Member1 string `json:"TheMember1"`
}
func main() {
map_contains := make(map[string]string)
//Part 1 Direct Add to Map
map_contains["w"]="mmmmm"
fmt.Println(map_contains)
fmt.Println(map_contains["w"])
//Part 2 JsonString to Map
json.Unmarshal([]byte(`{"a":"123"}`),&map_contains)
fmt.Println(map_contains)
fmt.Println(map_contains["a"])
//Part 3 Struct To JsonString To Map
s1:=sample{
Member1:"June",
}
s1json,err:=json.Marshal(s1)
if err != nil {
panic(err)
}
fmt.Println(string(s1json))
json.Unmarshal(s1json,&map_contains)
fmt.Println(map_contains)
fmt.Println(map_contains["TheMember1"])
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450162.html
標籤:走
上一篇:如何從地圖內的切片中洗掉元素?
下一篇:找不到死鎖的原因
