前言
用golang语言做API开发时,配置信息几乎都是写在配置文件中的。即:软编码。所以,需要一款强大的配置文件解析技术来读取配置文件中的数据。gin框架就是用的go-ini
一、go-ini是什么?
Go 语言 INI 文件操作库:go-ini
go-ini支持什么格式的配置文件?
- 多种格式兼容
各种文件种类的广泛支持,包括但不限于 my.cnf、.gitconfig 甚至不可解析的分区。一般用的是ini格式的
- 自然类型增强
将值自动转换为指定的 Go 语言原生类型,让代码更加专注于逻辑处理。
- 结构体映射
映射配置文件到用户定义的 struct{} 结构体中,在完成操作后还能从结构体反向映射成对应的配置文件。
这是最重要的特性,一般golang开发工程师也是用结构体去操作配置文件中的数据
二、go-ini的使用
包结构
env.ini
userName = hang
password = 123
[pas]
password = 123456
port = 8081
# [] 分区符 一般是用来区分相同key,不同value值的配置信息
[flag]
isMarry = true
main.go
package main
import (
"fmt"
"gopkg.in/ini.v1"
"os"
)
func main() {
// 指定到config/env.ini配置文件
cfg,err := ini.Load("gin/go-ini/config/env.ini")
//当有异常时:
if err != nil{
fmt.Println("读取失败:",err)
// 退出读取 code == 0时,表示读取成功 code == 1时,表示读取失败退出
os.Exit(1)
}
// 读取 userName = hang ""【空字符串】 默认区分
fmt.Println(