func main() {
var data = map[string]string{}
data["a"] = "x"
data["b"] = "x"
data["c"] = "x"
fmt.Println(data)
}
Nó chạy.Bản đồ lồng nhau ở 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)
}
Nó cũng chạy.
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)
}
Chạy lại!
func main() {
var data = map[string]map[string]string{}
data["a"]["w"] = "x"
data["b"]["w"] = "x"
data["c"]["w"] = "x"
fmt.Println(data)
}
Nhưng nó không thành công !?
Có vấn đề gì với các bản đồ lồng nhau trong Go không? Hoặc không có hỗ trợ nhiều khung cho các bản đồ lồng nhau?
Tôi nhận ra tôi đã mã hóa golang với thói quen php :) Rất khó để làm quen với việc mã hóa đầy đủ kiểu an toàn. Nhưng tôi thích nó, cảm ơn bạn rất nhiều vì câu trả lời của bạn. –
Trong trường hợp bản đồ được điền theo kiểu lặp lại, bạn có thể kiểm tra giá trị nil trước khi gán: 'if data [" c "] == nil { \t \t dữ liệu [" c "] = map [string] string {}} 'Điều này giúp tránh mất dữ liệu từ bản đồ của bạn. – J0hnG4lt