内容简介:参考:goconfig 是一个由 Go 语言开发的针对 Windows 下常见的 INI 格式的 配置文件解析器。该解析器在涵盖了所有 INI 文件操作的基础上,又针对Go 语言实际开发过程中遇到的一些需求进行了扩展。相对于其它 INI 文件解析器而言,该解析器最大的优势在于 对注释的极佳 支持;除此之外,支持 多个配置文件覆盖加载 也是非常特别但好用的功能。
参考: https://github.com/Unknwon/go-rock-libraries-showcases/tree/master/lectures/01-goconfig
goconfig 简介
goconfig 是一个由 Go 语言开发的针对 Windows 下常见的 INI 格式的 配置文件解析器。该解析器在涵盖了所有 INI 文件操作的基础上,又针对Go 语言实际开发过程中遇到的一些需求进行了扩展。相对于其它 INI 文件解析器而言,该解析器最大的优势在于 对注释的极佳 支持;除此之外,支持 多个配置文件覆盖加载 也是非常特别但好用的功能。
主要特性
- 提供与WindowsAPI一模一样的操作方式 - 支持递归读取分区
- 支持自增键名
- 支持对注释的读与写操作
-
支持直接返回指定类型的键值 - 支持多个文件覆盖加载
下载安装
-
通过gopm安装:
gopm get github.com/Unknwon/goconfig -
通过goget安装:
go get github.com/Unknwon/goconfig -
API文档:GoWalker
基本使用方法
-
加载配置文件:
cfg, err := goconfig.LoadConfigFile("conf.ini")
-
-
基本读写操作:
value, err := cfg.GetValue(goconfig.DEFAULT_SECTION,"key_default")
isInsert := cfg.SetValue(goconfig.DEFAULT_SECTION,"key_default", "这是新的值”)
-
注释读写操作:
comment := cfg.GetSectionComments("super")
comment = cfg.GetKeyComments("super", "key_super")
v := cfg.SetKeyComments("super", "key_super", "# 这是新的键注释") v = cfg.SetSectionComments("super", "# 这是新的分区注释")
-
类型转换读取:
vInt, err := cfg.Int("must", "int") -
Must系列方法:
vBool := cfg.MustBool("must", "bool") -
删除指定键值:
ok := cfg.DeleteKey("must", "string") -
保存配置文件:
err = goconfig.SaveConfigFile(cfg, "conf_save.ini")
高级使用方法
高级使用方法
-
多文件覆盖加载:
cfg, err := goconfig.LoadConfigFile("conf.ini", "conf2.ini") err = cfg.AppendFiles("conf3.ini") -
配置文件重载:
err = cfg.Reload() -
为Must系列方法设置缺省值:
vBool := cfg.MustBool("must", "bool404", true) -
递归读取键值
- 子孙分区覆盖读取 - 自增键名获取
-
获取整个分区:
高级使用方法
sec, err := cfg.GetSection("auto increment")
总结
goconfig 包的 API 提供非常全面,用法非常简单,但核心代码并不多,各位 同学有兴趣的可以阅读其源代码。
-
使用案例:
gopm、beego - i18n、beeweb、wetalk、gowalker
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- GYHttpMock:使用及源码解析
- 使用go语言解析xml
- pinpoint 使用和相关源码解析
- 使用cJSON库解析JSON
- 使用pdfminer解析pdf文件
- 如何使用 JavaScript 解析 URL
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Perl语言编程
[美] Larry Wall、Tom Christiansen、Jon Orwant / 何伟平 / 中国电力出版社 / 2001-12 / 129.00元
这不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,他就这种语言的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。一起来看看 《Perl语言编程》 这本书的介绍吧!