首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GIN框架博客篇(2)viper包的用法

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"

没有报错,成功连上了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210102A018EY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券