Go组件学习:如何读取ini配置文件 您所在的位置:网站首页 go读取配置文件 Go组件学习:如何读取ini配置文件

Go组件学习:如何读取ini配置文件

2023-01-13 00:18| 来源: 网络整理| 查看: 265

代码示例全部保存在,欢迎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 = 李四


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有