Go系统下的自定义属性文件的增删改查

最近在自己的Go系统下需要配置一个属性文件,并且需要能够用程序进行动态修改和保存属性值。于是在Go官方自带的API里寻找,结果没找到。(无语,这种属性文件的处理功能在JAVA里面太容易获得了。)最后,询问了QQ群里的朋友,才找到一款勉强实现属性文件增删改查功能的Go组件。组件首页:https://github.com/kless/goconfig。

安装:

go get github.com/kless/goconfig/config


使用:

1、它的属性文件格式。

1)section部分. 一个属性文件可以分多个section,每个section可以有多条属性.
2)属性部分.由分隔符分开。分隔符默认是": "(冒号加空格)。也可以是"="。 举个例子:

 [Section1]
foodir: %(dir)s/whatever

dir: foo

[Section2]

jdkdir=/usr/lib/jdk17

2、读取属性和检查属性是否存在

c, _ := config.ReadDefault("config.cfg")

str,_:=c.String("Section2", "jdkdir")

//检查属性是否存在

if c.HasOption("Section2", "no-option"){}

3、增加属性

c.AddOption("jvm_setup","JVMLIB_PATH","D:/jdk17/lib/")

4、删除属性

c.RemoveOption("jvm_setup","JVMLIB_PATH")

5、修改属性并保存(这个功能是我摸索出来的,官方文档没有提到,但确实能用,凑合着用吧)
c.RemoveOption("jvm_setup","JVMLIB_PATH")
c.AddOption("jvm_setup","JVMLIB_PATH","D:/jdk17/lib/")
c.WriteFile("jvm.cfg",0644, "Test file for test-case")

注意:这个组件的一个小bug,最后一行行末要加个回车符,否则,最后一行属性无法读取。

你可能感兴趣的:(Go,属性文件配置)