Gin 中使用 go-ini 加载.ini 配置文件
# 1、go-ini 介绍
go-ini 官方介绍,go-ini 是地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库。
Github 地址:https://github.com/go-ini/ini (opens new window)
官方文档:https://ini.unknwon.io/ (opens new window)
# 2、go-ini 使用
# 2.1、新建 conf/app.ini
现在,我们编辑 my.ini 文件并输入以下内容
app_name = itying gin
# possible values: DEBUG, INFO, WARNING, ERROR, FATAL
log_level = DEBUG
[mysql]
ip = 192.168.0.6
port = 3306
user = root
password = 123456
database = gin
[redis]
ip = 127.0.0.1
port = 6379
# 2.2、编写 main.go
接下来我们需要编写 main.go 文件来操作刚才创建的配置文件。
package main
import (
"fmt"
"gopkg.in/ini.v1"
"os"
)
func main() {
cfg, err := ini.Load("./conf/app.ini")
if err != nil {
fmt.Printf("Fail to read file: %v", err)
os.Exit(1)
}
// 典型读取操作,默认分区可以使用空字符串表示
fmt.Println("App Mode:", cfg.Section("").Key("app_name").String())
fmt.Println("Data Path:", cfg.Section("mysql").Key("ip").String())
// 差不多了,修改某个值然后进行保存
cfg.Section("").Key("app_name").SetValue("itying gin")
cfg.SaveTo("./conf/app.ini")
}
# 2.3、从.ini 中读取 mysql 配置
https://gorm.io/zh_CN/docs/connecting_to_the_database.html (opens new window)
package models
import (
"fmt"
"gopkg.in/ini.v1"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"os"
)
var DB *gorm.DB
var err error
func init() {
cfg, err := ini.Load("./conf/app.ini")
if err != nil {
fmt.Printf("Fail to read file: %v", err)
os.Exit(1)
}
ip := cfg.Section("mysql").Key("ip").String()
port := cfg.Section("mysql").Key("port").String()
user := cfg.Section("mysql").Key("user").String()
password := cfg.Section("mysql").Key("password").String()
database := cfg.Section("mysql").Key("database").String()
dsn := fmt.Sprintf("%v:%v@tcp(%v:%v)/%v?charset=utf8mb4&parseTime=True&loc=Local ", user, password, ip, port, database)
fmt.Println(dsn)
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
QueryFields: true, //打印 sql
//SkipDefaultTransaction: true, //禁用事务
})
if err != nil {
fmt.Println(err)
}
}
上次更新: 2025/04/11, 00:13:59