func main() {
var data = map[string]string{}
data["a"] = "x"
data["b"] = "x"
data["c"] = "x"
fmt.Println(data)
}
実行中です。ゴランのネストマップ
func main() {
var data = map[string][]string{}
data["a"] = append(data["a"], "x")
data["b"] = append(data["b"], "x")
data["c"] = append(data["c"], "x")
fmt.Println(data)
}
も実行されます。
func main() {
var w = map[string]string{}
var data = map[string]map[string]string{}
w["w"] = "x"
data["a"] = w
data["b"] = w
data["c"] = w
fmt.Println(data)
}
もう一度実行されます。
func main() {
var data = map[string]map[string]string{}
data["a"]["w"] = "x"
data["b"]["w"] = "x"
data["c"]["w"] = "x"
fmt.Println(data)
}
ただし、失敗します。
Goにネストされたマップに問題はありますか?または、ネストされたマップの複数のブラケットサポートはありませんか?
私はphpの習慣でgolangをコーディングしていることに気付きました:)完全な型セーフでコーディングするのは難しいです。しかし、私はそれが好きです、あなたの答えをどうもありがとう。 –
マップが繰り返し挿入されている場合は、割り当て前にnil値をチェックすることができます: 'if data [" c "] == nil { \t \t data [" c "] = map [string] string {}} 'これは、マップからのデータの損失を避けるのに役立ちます。 – J0hnG4lt