官方地址:
viper的作用
- 支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件;
- 可以设置监听配置文件的修改,修改时自动加载新的配置;
- 从环境变量、命令行选项和
io.Reader中读取配置; - 从远程配置系统中读取和监听修改,如 etcd/Consul;
- 代码逻辑中显示设置键值。
代码
type config struct{
Host string `mapstructure:"host"` } v := viper.New() v.SetConfigFile(文件地址) if err := v.ReadInConfig(); err != nil { panic(err) } if err := v.Unmarshal(&config); err != nil { panic(err) }