github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/goconfig/README_ZH.md (about) 1 goconfig [](https://drone.io/github.com/Unknwon/goconfig/latest) [](http://gowalker.org/github.com/Unknwon/goconfig) 2 ======== 3 4 本库已被 [《Go名库讲解》](https://github.com/Unknwon/go-rock-libraries-showcases/tree/master/lectures/01-goconfig) 收录讲解,欢迎前往学习如何使用! 5 6 编码规范:基于 [Go 编码规范](https://github.com/Unknwon/go-code-convention) 7 8 ## 关于 9 10 包 goconfig 是一个易于使用,支持注释的 Go 语言配置文件解析器,该文件的书写格式和 Windows 下的 INI 文件一样。 11 12 配置文件由形为 `[section]` 的节构成,内部使用 `name:value` 或 `name=value` 这样的键值对;每行开头和尾部的空白符号都将被忽略;如果未指定任何节,则会默认放入名为 `DEFAULT` 的节当中;可以使用 “;” 或 “#” 来作为注释的开头,并可以放置于任意的单独一行中。 13 14 ## 特性 15 16 - 简化流程,易于理解,更少出错。 17 - 提供与 Windows API 一模一样的操作方式。 18 - 支持读取递归节。 19 - 支持自增键名。 20 - 支持对注释的 **读** 和 **写** 操作,其它所有解析器都不支持!!!! 21 - 可以直接返回 bool, float64, int, int64 和 string 类型的值,如果使用 “Must” 开头的方法,则一定会返回这个类型的一个值而不返回错误,如果错误发生则会返回零值。 22 - 支持加载多个文件来重写值。 23 24 ## 安装 25 26 go get github.com/Unknwon/goconfig 27 28 或 29 30 gopm get github.com/Unknwon/goconfig 31 32 33 ## API 文档 34 35 [Go Walker](http://gowalker.org/github.com/Unknwon/goconfig). 36 37 ## 示例 38 39 请查看 [conf.ini](testdata/conf.ini) 文件作为使用示例。 40 41 ### 用例 42 43 - 函数 `LoadConfigFile` 加载一个或多个文件,然后返回一个类型为 `ConfigFile` 的变量。 44 - `GetValue` 可以简单的获取某个值。 45 - 像 `Bool`、`Int`、`Int64` 这样的方法会直接返回指定类型的值。 46 - 以 `Must` 开头的方法不会返回错误,但当错误发生时会返回零值。 47 - `SetValue` 可以设置某个值。 48 - `DeleteKey` 可以删除某个键。 49 - 最后,`SaveConfigFile` 可以保持您的配置到本地文件系统。 50 - 使用方法 `Reload` 可以重载您的配置文件。 51 52 ## 更多信息 53 54 - 所有字符都是大小写敏感的! 55 56 ## 参考信息 57 58 - [goconf](http://code.google.com/p/goconf/) 59 - [robfig/config](https://github.com/robfig/config) 60 - [Delete an item from a slice](https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/lYz8ftASMQ0) 61 62 ## 授权许可 63 64 本项目采用 Apache v2 开源授权许可证,完整的授权说明已放置在 [LICENSE](LICENSE) 文件中。