代码示例全部保存在,欢迎star:https://github.com/EnochZg/golang-examples

安装组件

go get gopkg.in/ini.v1

使用

先创建ini后缀的配置文件,本文以config.ini为例

username = 平也

在main函数中加入以下代码读取username配置

package main

import (
"fmt"
"gopkg.in/ini.v1"
"os"
) func main() {
cfg, err := ini.Load("config.ini")
if err != nil {
fmt.Println("文件读取错误", err)
os.Exit(1)
}
fmt.Println(cfg.Section("").Key("username"))
}

运行后即可读取到username的值,上文中的Section有什么作用呢?我们在配置文件中加入以下配置

[mysql]
username = root

这个时候配置文件中就存在两个一样的username,那么读取的时候以哪个为准呢?这就需要通过Section来区分了,在main函数中加入以下代码,通过在Section中传入参数来读取mysql中的配置

fmt.Println(cfg.Section("mysql").Key("username"))

运行可以发现,现在读取到的内容为root

进阶

限制值

我们还可以对值进行限制,假如我们只允许值为张三或者李四,如果用户设置的名称不在这两个里面,那么就默认为张三,代码可以如下编写

fmt.Println(cfg.Section("mysql").Key("username").In("张三", []string{"张三", "李四"}))

运行后输出结果为“张三”

修改配置文件

在main行数中加入以下代码可以反设置回配置文件中

cfg.Section("mysql").Key("username").SetValue("李四")
err = cfg.SaveTo("config.ini")
if err != nil {
fmt.Println("文件保存错误", err)
}

以上代码意为将mysql中的username改为李四,我们去查看一下config.ini,成功被改为李四

[mysql]
username = 李四

最新文章

  1. css(二)
  2. 【YEOMAN】执行yo命令,报EACCES: permission denied, mkdir '/root/.config/configstore'
  3. HttpClient 与 HtmlParser 简介 转载
  4. iOS阶段学习第二天笔记(数据类型与进制)
  5. tostring格式化输出
  6. 记录创建企业Wiki的几个开源项目
  7. jquery 判断当前上传文件大小限制上传格式 搭配thinkphp实现上传即预览(模拟异步上传)
  8. 使用微软 URL Rewrite Module 开启IIS伪静态
  9. VB.NET调用SQL Sever存储过程
  10. C互质个数
  11. 前端的UI设计与交互之文案篇
  12. ASP.NET Core之中间件
  13. React.js小书总结
  14. ASP.net MVC5 Code First填充测试数据到数据库
  15. Python不可变对象
  16. psd页面切割成html技巧总结
  17. Tensorflow学习笔记02-Session,Variable,placeholder
  18. python opencv3 给图片加中文
  19. asp.net --- reponse对象写图片
  20. Android 之类库常用包

热门文章

  1. linux下添加行数和修改tab空格数
  2. CF-1144F-Graph Without Long Directed Paths
  3. cs231n spring 2017 lecture6 Training Neural Networks I
  4. Modelsim自动化仿真之do文件书写
  5. 植物基因组|注释版本问题|重测序vs泛基因组
  6. Zabbix 监控进程参考
  7. 正则提取关键字符-python代码实现
  8. Python---10小结
  9. Python---6条件判断与循环
  10. JAVA:初识Java · Xer97