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

测试文件内容如下:

[DATABASE]
DB_TYPE = mysql
DB_HOST = 127.0.0.1:3306
DB_USER = root
DB_PASSWORD = mypassword
DB_NAME = test

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

实现如下:

package main
 
import (
"fmt"
 
"github.com/go-ini/ini"
)
 
type Database struct {
DB_TYPE     string
DB_USER     string
DB_PASSWORD string
DB_HOST     string
DB_NAME     string
}
 
var DB_CONF = &Database{}
 
func main() {
 
var conf *ini.File
var err error
 
conf, err = ini.Load("test.ini")
if err != nil {
fmt.Println(err)
}
err = conf.Section("DATABASE").MapTo(DB_CONF)
if err != nil {
fmt.Println(err)
}
fmt.Print(DB_CONF.DB_USER)
}