viper 读取配置文件

发布时间: 更新时间: 总字数:97 阅读时间:1m 作者: IP上海 分享 网址

viper是使用Golang开发的读取配置文件库

示例

package main

import (
	"fmt"
	"os"

	"github.com/spf13/viper"
)

type City struct {
	Name string `mapstructure:"name"`
	Age  int    `mapstructure:"age"`
}

var city City

func main() {
	viper.SetConfigFile("./abc.yml")
	//viper.SetConfigName("test")
	viper.AddConfigPath("./conf/")
	viper.SetConfigType("yaml")
	if err := viper.ReadInConfig(); err != nil {
		fmt.Println(err)
		os.Exit(-1)
	}

	// 从环境变量读
	viper.AutomaticEnv()
	viper.SetEnvPrefix("ABC") // e.g. ABC_NAME | ABC_KEY1.KEY2

	if err := viper.Unmarshal(&city); err != nil {
		fmt.Println(err)
		os.Exit(-1)
	}
	fmt.Printf("%#v\n", city)
}
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数