简介
ini 是 Windows 上常用的配置文件格式。MySQL 的 Windows 版就是使用 ini 格式存储配置的。go-ini是 Go 语言中用于操作 ini 文件的第三方库。
go-ini
快速使用
go-ini 是第三方库,使用前需要安装:
也可以使用 GitHub 上的仓库:
my.ini
使用 go-ini 库读取:
=#[name]my.iniapp_namelog_level
go-ini
ini.Loadcfg
Sectionsection""ini.DefaultSection
Keykey
keyStringMustInt
运行以下程序,得到输出:
String()Int/Uint/Float64Int()/Uint()/Float64()
要留意这种不一致!如果我们将配置中 redis 端口改成非法的数字 x6381,那么运行程序将报错:
Must*
go-iniMustTypeInit/Uint/Float64
配置文件还是 redis 端口为非数字 x6381 时的状态,运行程序:
IntMustIntIntMustInt
分区操作
获取信息
SectionsSectionStrings()
运行输出 3 个分区:
Section(name)name
SectionStrings
也可以手动创建一个新分区,如果分区已存在,则返回错误:
父子分区
%(name)snames
IMPORT_PATHNAMEVERSIONpackageCLONE_URLIMPORT_PATH
.package.subpackagepackage
运行程序输出:
package.subCLONE_URLpackage
保存配置
io.Writer
my.ini
my.inimy-pretty.ini
my.ini
my-pretty.ini
*Indent
分区与结构体字段映射
MapTo
MapToencoding/jsonencoding/xmljson/xmlapp_nameAppNamego-ini
ini.MapTo
也可以只映射一个分区:
还可以通过结构体生成配置:
总结
go-inigo-ini
参考
我
欢迎关注我的微信公众号【GoUpUp】,共同学习,一起进步~