1 | go get github.com/spf13/viper |
viper 是什么
- go 开发工具,主要是用于处理各种格式的配置文件,简化程序配置的读取问题
- viper 支持:
- 设置默认配置
- 支持读取 JSON TOML YAML HCL 和 Java 属性配置文件
- 监听配置文件变化,实时读取读取配置文件内容
- 读取环境变量值
- 读取远程配置系统 (etcd Consul) 和监控配置变化
- 读取命令 Flag 值
- 读取 buffer 值
- 读取确切值
quick start
json 配置文件 (config.json)
:
1 | { |
yaml 配置文件 (config1.yaml)
:
1 | port: 10666 |
1 | package main |
viper.SetConfigName (“config”) 设置配置文件名为 config, 不需要配置文件扩展名,配置文件的类型 viper 会自动根据扩展名自动匹配.
viper.AddConfigPath (“.”) 设置配置文件搜索的目录,. 表示和当前编译好的二进制文件在同一个目录。可以添加多个配置文件目录,如在第一个目录中找到就不不继续到其他目录中查找.
viper.ReadInConfig () 加载配置文件内容
viper.Get 获取配置文件中配置项的信息
io.Reader
:
1 | package main |