Golang读取配置文件(*.ini)信息
发布时间:2021-05-04 编辑:jiaochengji.com
教程集为您提供Golang读取配置文件(*.ini)信息等资源,欢迎您收藏本站,我们将为您提供最新的Golang读取配置文件(*.ini)信息资源
package main
import (
"fmt"
"io/ioutil"
"regexp"
"strings"
)
func checkErr(e error) {
if e != nil {
panic(e)
}
}
/*
函数名:getCfg(tag string, cfg string)string
参 数:tag string:参数的名称
cfg string:配置信息字符串
返回值:string:从配置信息"cfg"中查询到的第一个tag参数的配置值
创建时间:2018年12月3日
修订信息:
*/
func getCfg(tag string, filepath string) string {
dat, err := ioutil.ReadFile(filepath) //读取文件
checkErr(err) //检查是否有错误
cfg := string(dat) //将读取到达配置文件转化为字符串
var str string
s1 := fmt.Sprintf("[^;]%s *= *.{1,}\\n", tag)
s2 := fmt.Sprintf("%s *= *", tag)
reg, err := regexp.Compile(s1)
if err == nil {
tag_str := reg.FindString(cfg) //在配置字符串中搜索
if len(tag_str) > 0 {
r, _ := regexp.Compile(s2)
i := r.FindStringIndex(tag_str) //查找配置字符串的确切起始位置
var h_str = make([]byte, len(tag_str)-i[1])
copy(h_str, tag_str[i[1]:])
str1 := fmt.Sprintln(string(h_str))
str2 := strings.Replace(str1, "\n", "", -1)
str = strings.Replace(str2, "\r", "", -1)
}
}
return str
}
func main() {
fmt.Println(getCfg("db1.Host", "demo.ini")) //输出:127.0.0.0
}
测试对应的配置文件
[mysql]
db1.Name = testMysqlDB
db1.Host = 127.0.0.1
db1.Port = 3306
db1.User = root
db1.Pwd = test
db1.colname = ID:int,DataTime:string,DocTagName:string,DocValue:float64
; 测试INI风格的注释
; 这两行数据的前前面加入了分号,因此,这些数据被认为是注释,将不会影响配置文件正常情况
[tcp]
Port= 3309
到此这篇关于“Golang读取配置文件(*.ini)信息”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
Golang读取配置文件(*.ini)信息
golang读取配置文件
golang读取配置文件(ini文件)
Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件
php读取与修改自定义配置文件的代码
golang之配置文件
如何读取yaml,json,ini等配置文件【Golang 入门系列九】
python 配置文件如何使用
php操作ini配置文件的例子
2.golang: golang读取配置文件(toml文件形式)
[关闭]