我正在试图弄清楚如何组织我的Golang结构来存储我的yaml文件。我想我对嵌套地图有点问题。我试图让这个yaml文件存储在像{statCategory:{CatOne:{featD:{description:amazing, unit:nil}}}
这样的东西中。
我目前正在使用yaml "gopkg.in/yaml.v2"
来解析yaml。
下面是我要解析的yaml文件。
stat:
statCategory:
CatOne:
featD:
description: amazing
unit: nil
featH:
description: not amazing
unit: nil
CatTwo:
featA:
description: hello
unit: ms
featB:
description: something
unit: ms
featC:
description: another description
unit: ms
我试过使用下面的结构,但它似乎只是有点工作。
type yamlStatDAO struct {
Stat statCategory `yaml:"stat"`
}
type statCategory struct {
StatCat map[string]map[string]statInfo `yaml:"statCategory"`
}
type statInfo struct {
description string `yaml:"description"`
unit string `yaml:"unit"`
}
但我最终只得{statCategory:{CatOne:{featD:{}}}
。如果我无法解决这个问题,我可能会重构我的yaml文件。
编辑:似乎解决方案只是将描述和单位大写。
type statInfo struct {
Description string `yaml:"description"`
Unit string `yaml:"unit"`
}
感谢Alexander Maru的评论。