Viper(Go语言管理神器)

简介:在Go语言中,Viper是一个流行的配置管理库,它提供了方便和灵活的方法来读取、解析和管理应用程序的配置信息。

一.用viper可以干什么

1.支持读取JSON,TOML,YAML,HCL,envfile和java properties等多种不同类型配置文件

2.可以监听配置文件的变化,并重新加载配置文件

3.读取系统环境变量的值

4.读取存储在远程配置中心的配置数据,如ectd,Consul,firestore等系统,并监听配置的变化

5.从命令行读取配置

6.从buffer读取配置

7.可以显示设置配置的值

二.viper配置优先级

viper支持从多个数据源读取配置值,因此当同一个配置key在多个数据源有值时,viper读取的优先级如下:

  • 显式调用 viper.Set 设置的配置值

  • 命令行参数

  • 环境变量

  • 配置文件

  • key/value 存储

  • 默认值

三.viper基本使用

3.1 导入包

go get github.com/spf13/viper

3.2 初始化viper

viper.SetConfigName("config") // 设置配置文件名
viper.SetConfigType("yaml")   // 设置配置文件类型
viper.AddConfigPath(".")      // 添加配置文件搜索路径

err := viper.ReadInConfig()   // 读取配置文件
if err != nil {
    panic(fmt.Errorf("配置文件读取失败: %s", err))
}

3.3 读取配置值

value := viper.GetString("key")        // 读取字符串配置值
value := viper.GetInt("key")           // 读取整数配置值
value := viper.GetBool("key")          // 读取布尔配置值
value := viper.GetFloat64("key")       // 读取浮点数配置值
value := viper.GetStringSlice("key")   // 读取字符串切片配置值

3.4 设置默认值

viper.SetDefault("key", value) // 设置默认值

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值