如何在 Go 中的结构内初始化嵌套映射?

Ale*_*lex 5 go

如果我在结构中有这样的嵌套映射变量:

type someStruct struct {
    nestedMap map[int]map[string]string
}

var ss = someStruct {
    nestedMap: make(map[int]map[string]string),
}
Run Code Online (Sandbox Code Playgroud)

这不起作用并且会出现运行时错误。

我如何初始化它?

One*_*One 7

您还必须制作子地图。

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
}
Run Code Online (Sandbox Code Playgroud)

playground