我正在做我的第一个真正的 Go 项目,并且一直在寻找一些工具来处理配置。
最后,我找到了这个工具:https : //github.com/spf13/viper,它非常好,但是当我尝试处理一些更复杂的配置(例如以下 config.yaml 示例)时遇到了一些问题:
app:
name: "project-name"
version 1
models:
modelA:
varA: "foo"
varB: "bar"
modelB:
varA: "baz"
varB: "qux"
varC: "norf"
例如,我不知道如何从 modelB 获取值。在查看 lib 代码时,我发现了以下内容,但我不太明白如何使用它:
// Marshals the config into a Struct
func Marshal(rawVal interface{}) error {...}
func AllSettings() map[string]interface{} {...}
我想要的是能够从我包的任何地方执行以下操作:
modelsConf := viper.Get("models")
fmt.Println(modelsConf["modelA"]["varA"])
有人可以向我解释实现这一目标的最佳方法吗?
波斯汪
慕工程0101907
使用 viper 验证配置文件
使用struts2进行开发,可否不进行配置web.xml?
yii2高级版本中基础环境配置
golang grpc 如何进行热重启 graceful
相关分类