码农后生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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")
}

效果

posted on 2021-05-10 15:39  码农后生  阅读(890)  评论(0编辑  收藏  举报