golang读取ini配置文件的方法

widuu 2013-11-27 Go语言 6,377 0 喜欢 (0)

好几天没有更新了因为我正在研究一个新的项目,然后很费时,希望到时候得到大家的认可和帮助,这里申明一下希望大家帮助一下,如果您有好的程序或者代码判断,想分享给大家,您可以向我投稿,分享代码就是为了帮助大家,代码一定要是可行的,到时候我会先测试然后再发布!发送代码片段可以直接到我的邮箱admin#widuu.com(#换成@),也可以加我的QQ:23169450,下边是一个golang读取ini文件的简单事例!
效果图
golang读取ini文件
[php]
package main

import (
"bufio"
"fmt"
"io"
"os"
"strings"
)

//申明一个map到时候存取配置文件
var per map[string]interface{}

func main() {
//实例化这个map
per = make(map[string]interface{})
//打开这个ini文件
f, _ := os.Open("test.ini")
//读取文件到buffer里边
buf := bufio.NewReader(f)
for {
//按照换行读取每一行
l, err := buf.ReadString('\n')
//相当于PHP的trim
line := strings.TrimSpace(l)
//判断退出循环
if err != nil {
if err != io.EOF {
//return err
panic(err)
}
if len(line) == 0 {
break
}
}
switch {
case len(line) == 0:
//匹配[db]然后存储
case line[0] == '[' && line[len(line)-1] == ']':
section := strings.TrimSpace(line[1 : len(line)-1])
fmt.Println(section)
default:
//dnusername = xiaowei 这种的可以匹配存储
i := strings.IndexAny(line, "=")
per[strings.TrimSpace(line[0:i])] = strings.TrimSpace(line[i+1:])

}
}
//循环输出结果
for k, v := range per {
fmt.Println(k, v)
}
}
[/php]

转载请注明来自微度网络,本文标题:《golang读取ini配置文件的方法》

喜欢 0 发布评论
Top