设为首页 加入收藏

TOP

golang下使用ini配置文件(widuu/goini)(二)
2017-09-30 13:52:02 】 浏览:6039
Tags:golang 使用 ini 配置 文件 widuu/goini
.conflist[i][key], name) return
true } } } return false } //List all the configuration file func (c *Config) ReadList() []map[string]map[string]string { file, err := os.Open(c.filepath) if err != nil { CheckErr(err) } defer file.Close() var data map[string]map[string]string var section string buf := bufio.NewReader(file) for { l, err := buf.ReadString('\n') line := strings.TrimSpace(l) if err != nil { if err != io.EOF { CheckErr(err) } if len(line) == 0 { break } } switch { case len(line) == 0: case line[0] == '[' && line[len(line)-1] == ']': section = strings.TrimSpace(line[1 : len(line)-1]) data = make(map[string]map[string]string) data[section] = make(map[string]string) default: i := strings.IndexAny(line, "=") value := strings.TrimSpace(line[i+1 : len(line)]) data[section][strings.TrimSpace(line[0:i])] = value if c.uniquappend(section) == true { c.conflist = append(c.conflist, data) } } } return c.conflist } func CheckErr(err error) string { if err != nil { return fmt.Sprintf("Error is :'%s'", err.Error()) } return "Notfound this error" } //Ban repeated appended to the slice method func (c *Config) uniquappend(conf string) bool { for _, v := range c.conflist { for k, _ := range v { if k == conf { return false } } } return true }

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇golang爬坑:操作Linux命令 下一篇Go Walk教程 - 流程控制( switc..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目