0
点赞
收藏
分享

微信扫一扫

go语言基础-----23-----文件解析器goconfig

殇感故事 2022-02-20 阅读 78

1 文件解析器goconfig

go的ini配置文件非常简单,看下面代码即可。

运行之前需要go get。

go get "github.com/Unknwon/goconfig"
package main

import (
	"fmt"
	"log"

	"github.com/Unknwon/goconfig"
)

func main() {
	// 1. 加载配置文件到内存。
	cfg, err := goconfig.LoadConfigFile("./conf.ini") // 读取后文件关闭了
	if err != nil {
		log.Fatalf("无法加载配置文件:%s", err)
	}

	// 2. 获取没有节点的k-v键值对。有两种方法:
	// 方法1:节点传空字符串。
	userListKey, err := cfg.GetValue("", "USER_LIST")
	if err != nil {
		fmt.Println(err.Error())
	}
	fmt.Println(userListKey)
	// 方法2:使用goconfig.DEFAULT_SECTION当做节点。
	userListKey2, _ := cfg.GetValue(goconfig.DEFAULT_SECTION, "USER_LIST")
	fmt.Println(userListKey2)
	maxCount := cfg.MustInt("", "MAX_COUNT")
	fmt.Println(maxCount)
	maxPrice := cfg.MustFloat64("", "MAX_PRICE")
	fmt.Println(maxPrice)
	isShow := cfg.MustBool("", "IS_SHOW")
	fmt.Println(isShow)

	// 3. 获取带有节点的k-v键值对
	db := cfg.MustValue("test", "dbdns")
	fmt.Println(db)
	dbProd := cfg.MustValue("prod", "dbdns")
	fmt.Println("dbProd: ", dbProd)
}

结果,顺便对比ini文件的内容:
在这里插入图片描述

举报

相关推荐

0 条评论