goconfig 是一个易于使用,支持注释的 Go 语言配置文件解析器,该文件的书写格式和 Windows 下的 INI 文件一样。
配置文件由形为 [section]
的节构成,内部使用 name:value
或 name=value
这样的键值对;每行开头和尾部的空白符号都将被忽略;如果未指定任何节,则会默认放入名为 DEFAULT
的节当中;可以使用 “;” 或 “#” 来作为注释的开头,并可以放置于任意的单独一行中。
- 简化流程,易于理解,更少出错。
- 提供与 Windows API 一模一样的操作方式。
- 支持读取递归节。
- 支持自增键名。
- 支持对注释的 读 和 写 操作,其它所有解析器都不支持!!!!
- 可以直接返回 bool, float64, int, int64 和 string 类型的值,如果使用 “Must” 开头的方法,则一定会返回这个类型的一个值而不返回错误,如果错误发生则会返回零值。
- 支持加载多个文件来重写值。
go get github.com/Unknwon/goconfig
; Google
google=www.google.com
search=http://%(google)s
; Here are Comments
; Second line
[Demo]
# This symbol can also make this line to be comments
key1=Let's us goconfig!!!
key2=test data
key3=this is based on key2:%(key2)s
[What's this?]
; Not Enough Comments!!
name=try one more value ^-^
[parent]
name=john
relation=father
sex=male
age=32
[parent.child]
age=3
[parent.child.child]
; Auto increment by setting key to "-"
[auto increment]
-=hello
-=go
-=config
- 函数
LoadConfigFile
加载一个或多个文件,然后返回一个类型为ConfigFile
的变量。 GetValue
可以简单的获取某个值。- 像
Bool
、Int
、Int64
这样的方法会直接返回指定类型的值。 - 以
Must
开头的方法不会返回错误,但当错误发生时会返回零值。 SetValue
可以设置某个值。DeleteKey
可以删除某个键。- 最后,
SaveConfigFile
可以保持您的配置到本地文件系统。 - 使用方法
Reload
可以重写您的配置文件。
- 所有字符都是大小写敏感的!