github.com/spf13/viper用法
viper配置管理解析库,为Steve Francia开发。
一.安装
gogetgithub.com/spf13/viper
二.创建配置文件
config.yaml配置文件:
#debug开发模式,release生产模式
server:
AppMode:debug
HttpPort:8080
database:
Db:mysql
DbHost:127.0.0.1
DbPort:3306
DbUser:root
DbPassWord:123456
DbName:ginblog
setting.go
packageutils
import(
"github.com/spf13/viper"
"os"
)
// 读取配置文件config
var(
AppModestring
HttpPortstring
Dbstring
DbHoststring
DbPortstring
DbNamestring
DbUserstring
DbPassWordstring
)
funcinit() {
//获取项目的执行路径
path,err:=os.Getwd()
iferr!=nil{
panic(err)
}
config:=viper.New()
config.AddConfigPath(path+"/config") //设置读取的文件路径
config.SetConfigName("config")//设置读取的文件名
config.SetConfigType("yaml") //设置文件的类型
//尝试进行配置读取
iferr:=config.ReadInConfig();err!=nil{
panic(err)
}
// 读取配置数据
AppMode=config.GetString("server.AppMode")
HttpPort=config.GetString("server.HttpPort")
Db=config.GetString("database.Db")
DbHost=config.GetString("database.DbHost")
DbPort=config.GetString("database.DbPort")
DbName=config.GetString("database.DbName")
DbUser=config.GetString("database.DbUser")
DbPassWord=config.GetString("database.DbPassWord")
}
验证
packagemodel
import(
"fmt"
"ginblog/utils"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
vardb*gorm.DB
varerrerror
funcInitDb() {
dsn:=fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
utils.DbUser,
utils.DbPassWord,
utils.DbHost,
utils.DbPort,
utils.DbName,
)
_,err:=gorm.Open(mysql.Open(dsn),&gorm.Config{})
iferr!=nil{
fmt.Printf("连接数据库失败,请检查参数: ",err)
}
// db.AutoMigrate(&User{},&Category{},&Article{})
//db.AutoMigrate(&User{},&Category{})
}
PS D:\ginblog> go run "d:\ginblog\main.go"PS D:\ginblog> go run "d:\ginblog\main.go"
没有报错,成功连上了。
领取专属 10元无门槛券
私享最新 技术干货