6
func main() {
var data = map[string]string{}
data["a"] = "x"
data["b"] = "x"
data["c"] = "x"
fmt.Println(data)
}
它運行。Golang中的嵌套地圖
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有沒有嵌套地圖的問題?或者是否沒有嵌套地圖的多個支架支持?
我意識到我編碼golang與PHP的習慣:)很難習慣於完整的類型安全編碼。但我喜歡它,非常感謝你的答案。 –
在迭代地填充映射的情況下,可以在賦值之前檢查零值:'if data [「c」] == nil {「c」] = map [string] string {}}'這有助於避免丟失地圖中的數據。 – J0hnG4lt