GO语言viper包(处理toml格式配置文件)


GO语言viper包(处理toml格式配置文件)

config.toml配置文件

Name="world"

[school]
Name="qinghua"
time=4
credits=3.14

toml.go

package main

import (
	"fmt"

	"github.com/spf13/viper"
)

var Name = ""
var schoolName = ""
var schooltime = 1
var schoolcredits = 1.0

var vcfg *viper.Viper = nil

func ConfigInit(cfgFilename string) error {
	vcfg = viper.New()

	//配置文件的名字
	vcfg.SetConfigName(cfgFilename)

	//配置文件路径
	vcfg.AddConfigPath("./")

	//配置文件类型
	vcfg.SetConfigType("toml")

	if err := vcfg.ReadInConfig(); err != nil {
		fmt.Println("error----", err)
		return err
	}

	Name = vcfg.GetString("Name")
	schoolName = vcfg.GetString("school.Name")
	schooltime = vcfg.GetInt("school.time")
	schoolcredits = vcfg.GetFloat64("school.credits")

	fmt.Println(">>>>>>>>>>Name>>>>>>>>>>")
	fmt.Println(Name)
	fmt.Println()

	fmt.Println(">>>>>>>>>schoolName>>>>>>>>>>>")
	fmt.Println(schoolName)
	fmt.Println()

	fmt.Println(">>>>>>>>>>schooltime>>>>>>>>>>")
	fmt.Println(schooltime)
	fmt.Println()

	fmt.Println(">>>>>>>>>schoolcredits>>>>>>>>>>>")
	fmt.Println(schoolcredits)
	fmt.Println()

	return nil
}

func main() {
	ConfigInit("config.toml")
}

效果


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM