在golang中读取yaml配置文件时,我是否总是需要结构?
我想从Golang中的yaml读取配置常量 例如: 我有config.yml在golang中读取yaml配置文件时,我是否总是需要结构?,go,Go,我想从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
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)
需要注意的一点是,库将解组映射到[interface{}]interface{},而不是映射[string]interface{}