我有一个 viper 配置,它有一些固定字段和一些动态字段。它看起来像这样:
//always contains those keys
a: 1
b: "2"
c: true
//those keys might change:
params:
x1: 111
x2: "222"
我知道我可以将params
部分解组为 amap[string]interface{}
并在运行时使用这些值,但我想将此配置解组为 a viper 配置,即结构应如下所示:
type Config struct {
A int `mapstructure:"a"`
B string `mapstructure:"b"`
C bool `mapstructure:"c"`
Params viper.Viper `mapstructure:"params"`
}
但是当尝试使用这样的结构时,Params
变量被解组为一个空配置。
viper 能支持这样的用法吗?