前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go组件学习:如何读取ini配置文件

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

作者头像
平也
发布2020-04-03 16:20:31
1.4K0
发布2020-04-03 16:20:31
举报
文章被收录于专栏:平也

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

安装组件

代码语言:javascript
复制
go get gopkg.in/ini.v1

使用

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

代码语言:javascript
复制
username = 平也

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

代码语言:javascript
复制
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有什么作用呢?我们在配置文件中加入以下配置

代码语言:javascript
复制
[mysql]
username = root

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

代码语言:javascript
复制
fmt.Println(cfg.Section("mysql").Key("username"))

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

进阶

限制值

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

代码语言:javascript
复制
fmt.Println(cfg.Section("mysql").Key("username").In("张三", []string{"张三", "李四"}))

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

修改配置文件

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

代码语言:javascript
复制
cfg.Section("mysql").Key("username").SetValue("李四")
err = cfg.SaveTo("config.ini")
if err != nil {
	fmt.Println("文件保存错误", err)
}

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

代码语言:javascript
复制
[mysql]
username = 李四
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装组件
  • 使用
  • 进阶
    • 限制值
      • 修改配置文件
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档