Golang读取INI配置文件到结构体

本文将介绍Golang使用github.com/go-ini/ini包读取ini配置文件到结构体的方法。

测试文件内容如下:

[DATABASE]
TYPE = mysql
HOST = 127.0.0.1:3306
USER = root
PASSWORD = mypassword
DB_NAME = test

将数据保存为 test.ini ;放到go代码同一目录下。

实现如下:

package main
 
import (
    "fmt"
    "github.com/go-ini/ini"
)
 
type Database struct {
    TYPE     string
    USER     string
    PASSWORD string
    HOST     string
    DB_NAME  string
}
 
var DB_CONF = &Database{}
 
func main() {
    
    db_conf := Database{}

    conf,err := ini.Load("test.ini")
    if err!=nil{
        fmt.Println(err.Error())
        return;
    }

    if err:= conf.Section("DATABASE").MapTo(&db_conf);err!=nil{
        fmt.Println(err.Error())
        return 
    }

    fmt.Println(db_conf.HOST)

}

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1437.html

分类: 计算机技术
推荐阅读:
如何查看Golang版本 不论是Windows,还是Linux环境,要查看Golang版本,只需要在命令行(CMD)或Shell中输入命令:
function main is undeclared in the main package解决办法 这是一个Golang新手可能会碰到的低级错误,它表明你的main包中不包含main()函数;
ValueError: complex() arg is a malformed string解决办法 在Python使用complex()函数对字符串进行转换时,字符串在+或-的周围必须不能有空格。例如complex('1+2j')是合法的,但complex('1 + 2j')会触发ValueError异常。
如何禁用VSCode后台自动更新 VSCode是我比较喜欢的IDE了,但它也会偷偷摸摸的下载更新并自动安装,而且频率非常高;我并不太喜欢软件在自己毫不知情的情况下自动完成更新,所以我决定禁止它的这种行为;
Rust入门示例教程 该教程是一个可运行示例的集合,这些示例说明了各种Rust概念和标准库;如果你不喜欢阅读大量的文档来学习编程语言,那么该示例教程就很适合你,它不仅覆盖了你要学习的知识,而且有很多的篇幅来解释代码;
Rust使用abs()函数计算绝对值 在Rust编程语言中,可以使用abs()函数来计算一个数的绝对值;abs()函数可以用于整数和浮点数。