go viper加载所有配置
时间: 2023-01-11 12:55:36 浏览: 116
Go-viper-一个Go应用程序的完整配置解决方案
viper 是一个 Go 语言的库,用于解析配置文件并将配置信息存储在结构体中。它可以读取各种格式的配置文件,如 JSON、TOML、YAML 和 HCL,并支持从环境变量、命令行参数和远程配置系统(如 Consul)中读取配置信息。
要使用 viper 加载所有配置,需要执行以下步骤:
1. 安装 viper 库:
```
go get github.com/spf13/viper
```
2. 在代码中导入 viper 库:
```
import "github.com/spf13/viper"
```
3. 设置 viper 的配置文件格式:
```
viper.SetConfigType("yaml")
```
4. 加载配置文件:
```
viper.SetConfigName("config") // 设置配置文件名(不带后缀)
viper.AddConfigPath("/etc/appname/") // 第一个搜索路径
viper.AddConfigPath("$HOME/.appname") // 第二个搜索路径
viper.AddConfigPath(".") // 当前目录
err := viper.ReadInConfig() // 搜索并读取配置文件
if err != nil {
panic(fmt.Errorf("Fatal error config file: %s \n", err))
}
```
5. 读取配置信息:
```
port := viper.GetInt("server.port")
```
viper 还提供了许多其他功能,如监听配置文件变化、自动加载环境变量和命令行参数等。有关 viper 的更多信息,请参阅官方
阅读全文