zoukankan      html  css  js  c++  java
  • Go组件学习:如何读取ini配置文件

    代码示例全部保存在,欢迎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 = 李四
    
  • 相关阅读:
    c#-全局键盘钩子
    C#-自动获取IP
    C#-自动获取IP
    C#-获取CPUID
    C#-获取CPUID
    手动添加导入表修改EXE功能
    安装全局消息钩子实现dll窗体程序注入
    手动添加导入表修改EXE功能
    虚拟桌面模拟查找点击自绘控件
    虚拟桌面模拟查找点击自绘控件
  • 原文地址:https://www.cnblogs.com/pingyeaa/p/12489540.html
Copyright © 2011-2022 走看看