gpt4 book ai didi

go - 在 golang 中读取 yaml 配置文件,我总是需要结构吗?

转载 作者:行者123 更新时间:2023-12-01 22:35:16 36 4
gpt4 key购买 nike

我想从 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 文件解码为接口(interface){}:

var data interface{}
yaml.Unmarshal(input,&data)

需要注意的一件事是 https://gopkg.in/yaml.v2库解码为 map[interface{}]interface{},而不是 map[string]interface{}。

关于go - 在 golang 中读取 yaml 配置文件,我总是需要结构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58673659/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com