如何初始化Go中的结构中的嵌套映射?
问题描述:
如果我有这样的一个结构里面嵌套地图变量:如何初始化Go中的结构中的嵌套映射?
type someStruct struct {
nestedMap map[int]map[string]string
}
var ss = someStruct {
nestedMap: make(map[int]map[string]string),
}
这不工作,不运行时错误。
如何初始化它?
答
您还必须制作子地图。
func (s *someStruct) Set(i int, k, v string) {
child, ok := s.nestedMap[i]
if !ok {
child = map[string]string{}
s.nestedMap[i] = child
}
child[k] = v
}
答
用来初始化嵌套图象这样:
temp := make(map[string]string,1)
temp ["name"]="Kube"
ss.nestedMap [2] = temp
fmt.Println(ss)