建议不要先描述您想要的配置结构,而不是调用原始Get,然后再确定要得到什么,就像
type config struct { interval int `mapstructure:"Interval"` statsdPrefix string `mapstructure:"statsd_prefix"` groups []group}type group struct { group string `mapstructure:"group"` targetPrefix string `mapstructure:"target_prefix"` targets []target}type target struct { target string `mapstructure:"target"` hosts []string `mapstructure:"hosts"`}而不是在其中解组(解码)
var C configerr := viper.Unmarshal(&C)if err != nil { t.Fatalf("unable to depre into struct, %v", err)}假设解码器足够聪明,可以在可能的情况下取消所提供的结构。



