博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go系统下的自定义属性文件的增删改查
阅读量:6124 次
发布时间:2019-06-21

本文共 954 字,大约阅读时间需要 3 分钟。

hot3.png

最近在自己的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,最后一行行末要加个回车符,否则,最后一行属性无法读取。

转载于:https://my.oschina.net/qinhui99/blog/66339

你可能感兴趣的文章
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
cmake总结
查看>>
数据加密插件
查看>>
linux后台运行程序
查看>>
win7 vs2012/2013 编译boost 1.55
查看>>
IIS7如何显示详细错误信息
查看>>
Android打包常见错误之Export aborted because fatal lint errors were found
查看>>
Tar打包、压缩与解压缩到指定目录的方法
查看>>
新手如何学习 jQuery?
查看>>
配置spring上下文
查看>>
Python异步IO --- 轻松管理10k+并发连接
查看>>
mysql-python模块编译问题解决
查看>>