go从0到1项目实战体系十九:配置文件

1. 配置文件方式:

yaml、toml、json、xml、ini

(1). Golang处理库:

. encoding/json:
    a. 标准库中的包,可以处理JSON配置文件.
    b. 缺点是不能加注释.. gcfg:
    a. 处理INI配置文件.. toml:
    a. 处理TOML配置文件.. viper:
    a. 处理JSONTOMLYAMLHCL以及Java properties配置文件.
. 无歧义地可以映射为哈希表,可以被多种语言解析.. TOML是大小写敏感的.. 结构体的成员首字母大写.. 配置文件的配置项须与结构体成员名一样
⑤. 支持bool、int、float、字符串、字符串数组等.

(1). github包:

go get github.com/BurntSushi/toml

(2). 举例:

[DB]
dns="root:123456@tcp(192.168.33.88:3306)/erp?charset=utf8mb4&parseTime=True&loc=Local"
prot=3306

[LOG]
path="./log.log"
logPathFile="./erp.log"    // 如果是字符串类型,必须要引号

:. 键名和键值:
   a. 键名和键值有空白会被忽略
   b. 有键必须有值
   c. 键值对后必须换行

②. 键值如果是string值,必须用引号.. 文件名可以是xx.ini

(3). go加载配置文件:


type Config struct {
	Database Database `toml:"db"`
}

type Database struct {
	DriverName string `toml:"driverName"`
	Host string `toml:"host"`
	Port int64 `toml:"port"`
	Database string `toml:"database"`
	User string `toml:"user"`
	Password string `toml:"password"`
	Charset string `toml:"charset"`
}

var config *Config

func init() {
	_, err := toml.DecodeFile("./config.ini", &config)
	if err != nil {
		panic("loading config fail")
	}
}
  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值