GOLANG学习之类库-goconfig

Posted sblack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GOLANG学习之类库-goconfig相关的知识,希望对你有一定的参考价值。

一,相关学习资料

studygolang: https://studygolang.com/articles/818

github地址:github.com/goconfig

API gowalker源码:https://gowalker.org/github.com/Unknwon/goconfig

 

二,安装

  go get github.com/Unknwon/goconfig

三,自测学习

  准备多个配置文件env.ini

  

 1 [global]
 2 env = dev
 3 
 4 [mysql]
 5 host = 127.0.0.1
 6 port = 3306
 7 user = root
 8 dbname = gotest
 9 password = 
10 charset = utf8mb4
11 max_idle = 2
12 max_conn = 27
13 
14 [default]
15 auto_session = 0
16 
17 [extra]
18 - = hello
19 - = go
20 - = world
21 
22 [redis]
23 host = 127.0.0.1
24 port = 6379
25 password =
26 ; 连接超时
27 conn_timeout = 2
28 read_timeout = 2
29 write_timeout = 2

  env2.ini

  

1 [webserver]
2 host = 127.0.0.1
3 port = 8080
4 
5 [mysql]
6 host = 111.111.111.111

  加载配置文件

  

 1 ConfigFile,err := goconfig.LoadConfigFile(env.ini,env1.ini)
 2   if err != nil {
 3     fmt.Println("load config file error")
 4     os.Exit(1)
 5   }
 6 
 7   mysqlConfig,err:= ConfigFile.GetSection("mysql")
 8   if err !=nil{
 9     fmt.Println("no mysql section config")
10     os.Exit(1)
11   }
12 
13   for k,v:=range mysqlConfig {
14     fmt.Println(k,v)
15   }

 

  总结:

  1,配置文件可以有多个,如果后续加载的section有同名的,则后面的section的key会覆盖前面出现的相同key

  2,支持回写配置文件,通过ConfigFile.setValue 和 goconfig.SaveConfigFile

  3,支持单个key获取 ConfigFile.getValue

  .........

 

未完待续,学习中。

  

 

  

  

  

以上是关于GOLANG学习之类库-goconfig的主要内容,如果未能解决你的问题,请参考以下文章

golang代码片段(摘抄)

golang goroutine例子[golang并发代码片段]

goconfig使用解析

代码片段 - Golang 实现简单的 Web 服务器

代码片段 - Golang 实现集合操作

golang-xorm库快速学习