我想从Golang的yaml中读取配置常量。
示例:我有config.yml
server:
host: "localhost"
port: 8080
和配置结构
type Config struct {
Server struct {
Port string `yaml:"port"`
Host string `yaml:"host"`
} `yaml:"server"`
}
然后我可以这样阅读:
f, err := os.Open("config.yml")
if err != nil {
processError(err)
}
var cfg Config
decoder := yaml.NewDecoder(f)
err = decoder.Decode(&cfg)
if err != nil {
processError(err)
}
我正在使用gopkg.in/yaml.v2
我想解析它,然后读取常量,我是否需要在配置中包含一个结构结构?
提前感谢
您可以将Yaml文件解组到界面{}:
var data interface{}
yaml.Unmarshal(input,&data)
要注意的一件事是https://gopkg.in/yaml.v2库取消了对map [interface {}] interface {}而不是map [string] interface {}的编组。