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通过使用GetSystemMetrics获取系统的分辨率 本文将使用Go语言调用GetSystemMetrics()函数来获取系统的分辨率。
使用Python求取前n个自然数的总和 给一个自然数n,使用Python求取前n个自然数的总和;
Rust:formatting specifier missing 错误解决方法 编译Rust程序时,出现 formatting specifier missing 错误,导致该错误的原因可能是错误的使用println!宏;
Rust file宏的用法和示例 在Rust中,file宏用于获取当前源文件的文件名;这在调试和日志记录等场景中非常有用,因为你可以动态地获取当前代码所在的文件名;
使用Rust实现CRC32算法 CRC32是一种循环冗余校验码(Cyclic Redundancy Check)算法,通常用于数据传输或存储中的错误检测。该算法通过对输入数据进行位操作和模2除法来生成一个32位的校验码,该校验码可以用于验证输入数据是否已经损坏或被篡改。
Nginx禁止使用IP直接访问 在有些场景中,我们希望访问者只能通过域名访问网站,不允许访问者直接通过IP进行访问,这一简单功能可通过配置Nginx实现。