go使用viper

224 阅读1分钟

官方地址:

github.com/spf13/viper

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)    }