type Table struct {
input map[string]map[string]
}
如何声明多维或递归映射?
input["var1"]["var2"] = "something"
更新
type Table struct {
input map[map[string]]
}
返回错误
syntax error: unexpected ]
type Table struct {
input map[string]map[string]
}
如何声明多维或递归映射?
input["var1"]["var2"] = "something"
type Table struct {
input map[map[string]]
}
返回错误
syntax error: unexpected ]
您正在寻找map[string]map[string]string
。 您的示例代码存在问题,缺少内部映射值的类型。以下是初始化此类结构的示例;
m := map[string]map[string]string{
"a": map[string]string{
"1":"A",
"2": "B",
},
"b": map[string]string{
"1": "C",
"2": "D",
},
}
或者跟随您的示例;
func main() {
m := map[string]map[string]string{}
m["var1"] = map[string]string{}
m["var1"]["var2"] = "something"
fmt.Println(m["var1"]["var2"])
}
这将打印出一些东西。
make(map[string]string)
或等效操作),也请考虑是否可以改用type key struct{key1, key2 string}; map[key] string
来达到您的目的。 - Dave C