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

分类: 计算机技术
推荐阅读:
Python 实现哈希表 哈希表是一种数据结构,其中数据元素的地址或索引值是从哈希函数生成的。在Python中,Dictionary数据类型就是哈希表的实现。
PySide6:No module named 'QWebEngineView' 解决方法 如果你在使用PySide6时碰到No module named 'QWebEngineView' 或 No module named 'PySide6.QtWebEngineWidgets' 的错误提示,请将PySide6更新到最新版本,因为该组件在某些比较老的版本还未得到支持;
MySQL AES_ENCRYPT()、AES_DECRYPT()函数 AES_ENCRYPT()和AES_DECRYPT()使用官方AES算法实现数据的加密和解密;其密钥默认长度为128位,默认块加密模式为ECB;
Python 异常处理及常见错误 一般情况下,在python无法正确处理程序时,就会发生异常;当发生异常时,我们需要捕获它并进行处理,否则程序会终止运行。
Python bytearray()函数 bytearray是 Python 中的一个内置类,用于表示二进制数据。与 bytes 类似,bytearray也是不可变的序列,但是它可以通过索引来修改其中的元素,因此可以用于一些需要修改二进制数据的场合。
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。