2025年Go项目配置管理神器之viper使用详解

Go项目配置管理神器之viper使用详解作者 程序员 CKeen 博客 http ckeen cn 长期坚持做有价值的事 积累沉淀 持续成长 升维思考 希望把编码作为长期兴趣爱好 目录 1 viper 的介绍 2 viper 的使用 2 1

大家好,我是讯享网,很高兴认识大家。

长期坚持做有价值的事!积累沉淀,持续成长,升维思考!希望把编码作为长期兴趣爱好😄

目录

1. viper的介绍

2. viper的使用

2.1  Viper对象的创建

2.2 预设默认配置。 

2.3 从命令行工具的选项参数Flags读取

2.4 从环境变量读取


讯享网

2.5 从配置文件读取

2.6 从远程key/value存储读取

2.7 监听配置变化

2.8 写入配置到文件

3. 源码分析--配置读取的顺序

4. 参考资料​​​​​​​


1. viper的介绍

viper是go一个强大的流行的配置解决方案的库。viper是spf13的另外一个重量级库。有大量项目都使用该库,比如hugo, docker等。 它基本上可以处理所有类型的配置需求和格式, viper支持功能

  • 设置默认配置
  • 支持各种配置文件,如JSON,TOML, YAML, HCL, envfile和Java属性配置文件
  • 支持监听文件变化以及重新读取配置
  • 支持从环境变量读取配置
  • 支持从远程配置系统(etcd或Consul)读取配置,并能监听远程配置修改
  • 支持从命令行标志Flag读取配置,比如搭配cobra使用
  • 支持读取缓冲区数据

Viper主要为我们做以下工作:

  • 查找、加载和解组JSON、TOML、YAML、HCL、INI、envfile或Java属性格式的配置文件。
  • 提供一种机制来为不同的配置选项设置默认值。
  • 提供一种机制来为通过命令行标志指定的选项设置覆盖值。
  • 提供别名系统,以便在不破坏现有代码的情况下轻松重命名参数。
  • 当用户提供了与默认值相同的命令行或配置文件时,很容易区分它们。

viepr的安装很简单,直接再工程中使用go get命令安装即可

$ go get github.com/spf13/viper 

讯享网
小讯
上一篇 2025-01-10 22:09
下一篇 2025-04-08 16:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/127365.html