go 配置管理-Viper使用 liyongfei - 29 Jan 2020 关于 Viper 具体介绍参考:https://github.com/spf13/viper,总体而言, Viper 支持常见的配置文件格式,如 json、 yaml 等,并且也支持远程加载等特性 基本使用 json 配置文件示例{ "test":"hello,this is a test", "student":{ "name":"zhangsan", "age": 25 } }config.json 加载配置package main import ( "fmt" "github.com/spf13/viper" ) func load() { // 设置文件名 viper.SetConfigName("config") // name of config file (without extension) // 设置配置文件的类型 viper.SetConfigType("json") // REQUIRED if the config file does not have the extension in the name // 设置配置文件路径为当前工作目录 viper.AddConfigPath(".") // optionally look for config in the working directory // 读取配置 err := viper.ReadInConfig() // Find and read the config file if err != nil { // Handle errors reading the config file panic(fmt.Errorf("Fatal error config file: %s \n", err)) } fmt.Println(viper.Get("test")) fmt.Println(viper.Get("student.name")) } config.go 测试文件package main import "testing" func TestLoad(t *testing.T) { load() } config_test.go 测试结果:=== RUN TestLoadhello,this is a testzhangsan--- PASS: TestLoad (0.00s)PASSok dueros-skills-data 0.017s