基于gin构建一个简单的web系统-【配置文件】

yaml配置文件:
mysql:
  host: 127.0.0.1
  port: 3306
  db: 数据库
  user: root
  password: '数据库密码'
  config : 'charset=utf8mb4&parseTime=true&loc=Local' //这里有loc=Local是为保证写入mysql的本地时间

logger:
    level: debug
    prefix: '[gweb]'    //
    director: log       //
    show_line: true     //显示行号
    log_in_console: true  //显示在控制台
    log_level: dev

system:
  host: 0.0.0.0
  port: 8000
  env:  release


redis:
    host: 127.0.0.1
    port: 6379

读取并且初始化配置:

创建config.go文件

package config

type Config struct {
	Mysql  Mysql  `yaml:"mysql"`
	Logger Logger `yaml:"logger"`
	System System `yaml:"system"`
}
//创建一个结构体保存当前的主要配置
type Logger struct {
	Level        string `yaml:"level"`
	Prefix       string `yaml:"prefix"`
	Director     string `yaml:"director"`
	ShowLine     bool   `yaml:"show_line"`
	LogInConsole bool   `yaml:"log_in_console"`
}
type System struct {
	Host string `yaml:"host"`
	Port int    `yaml:"port"`
	Env  string `yaml:"env"`
}

func (s System) Addr() string {
	addr := fmt.Sprintf("%s:%d", s.Host, s.Port)
	return addr
}
type Mysql struct {
	Host     string `yaml:"host"`
	Port     int    `yaml:"port"`
	Db       string `yaml:"db"`
	User     string `yaml:"user"`
	PassWord string `yaml:"password"`
	LogLevel string `yaml:"log_level"`
	Config   string `yaml:"config"`
}

// 获取当前的Mysql连接
func (m Mysql) Dsn() string {
	return m.User + ":" + m.PassWord + "@tcp(" + m.Host + ":" + strconv.Itoa(m.Port) + ")/" + m.Db + "?" + m.Config
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值