go读取配置模块viper

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go读取配置模块viper相关的知识,希望对你有一定的参考价值。

这个可以常常和cobra配合。

来个demo

package main

import (
	"fmt"

	"github.com/spf13/viper"
)

func main() {
	v := viper.New()
	v.SetConfigName("linux_config")
	v.AddConfigPath("./config/")
	v.AddConfigPath("%GOPATH/src/")
	v.SetConfigType("yaml")

	if err := v.ReadInConfig(); err != nil {
		fmt.Print("err: %s
", err)
	}

	fmt.Printf(
		`
		TimeStamp:%s
		CompanyInfomation.Name:%s
		CompanyInfomation.Department:%s `,
		v.Get("TimeStamp"),
		v.Get("CompanyInfomation.Name"),
		v.Get("CompanyInfomation.Department"),
	)
}

  

Linux_config.yaml

TimeStamp: "2018-10-18 10:09:23"
Address: "Shenzhen"
Postcode: 518000
CompanyInfomation:
  Name: "Sunny"
  MarketCapitalization: 50000000
  EmployeeNum: 200
  Department:
    - "Finance"
    - "Design"
    - "Program"
    - "Sales"

技术图片

以上是关于go读取配置模块viper的主要内容,如果未能解决你的问题,请参考以下文章

Go之viper配置

Go-viper读取配置文件

Go语言-配置管理神器viper

go 库 viper 配置解析神器

Go 每日一库之 viper

viper读取配置文件