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

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)
	}
}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部