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