0x01 写在前面
笔者在初次使用 viper 作为项目的配置管理时,遇到了不管如何反序列化出来的 struct 都为空的情况。经过一番查找与试错,现将解决办法列于下文。
0x02 解决办法
首先贴上我的代码
config.go
var v *viper.Viper = viper.New()
var cfg Config
type ServerCfg struct {
Port int `yaml:"port"`
}
type Database struct {
User string `yaml:"user"`
Passwd string `yaml:"passwd"`
Addr string `yaml:"addr"`
Net string `yaml:"net"`
DBName string `yaml:"dbname"`
AllowNativePasswords bool