/ 前言 /

viper是由Steve Francia编写的开源配置解决方案, 也是cobra的作者, 我们来看下viper的功能

  • 支持JSON、TOML、YAML/YML、PROPERTIES、ENVFILE等文件的读取
  • 修改读取文件的键值数据
  • 监听配置文件的修改并自动重新加载

下载

GitHub地址

/ 1 / 读取配置文件

在读取配置文件中我们将会演示viper的集中使用方式

我们以.yml文件为例

config.yml
config.go

测试代码

config_test.go

输出信息

name : wise
age : 18

我们总结一下在上面我们使用到的viper的功能

  • 可以在直接从viper对象中获取数据
  • 直接从viper对象中获取数据时可以指定返回类型
  • 可以在读取配置文件之前修改value的值, 且优先级最高

/ 2 / 自动更新配置文件

我们来看一下viper是否可以自动更新配置文件

输出信息

age : 18
age : 180

俩次打印结果一样的朋友可以将睡眠时间调整的再长一点试一下