Go语言---读取配置文件数据

前言

为了方便之后切换数据库或者其他的一下数据,以连接数据库为例,需要在go初始化的时候加载配置文件中的数据,例如yml环境配置文件
本人是java开发,在学习go方面有很多不足,因此写下来作为记录,方便温习

一、使用到的依赖

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"github.com/jialanli/windward"
)

二、使用步骤

1.引入库

go get -t github.com/jialanli/windward

2.新建文件夹并编写配置文件

data:
    name: root
    password: root
    database: service

3.创建结构体/对象

type Config struct {
	Data struct {
		Name			string		`yaml:"name"`
		Password		string		`yaml:"password"`
		Database		string		`yaml:"database"`
	}
}

4.加载配置文件并初始化

代码如下(示例):

func init(){
	//加载配置文件
	file := "C:\\Users\\86176\\Desktop\\env.yml"   //定义文件所在位置
	w := windward.GetWindward()
	w.InitConf([]string{file})  				   //初始化自定义的配置文件

	//获取数据库连接名密码等数据
	var config model.Config			//定义结构体【注意:这里需要有两层结构,因为w.ReadConfig读取的是data以及data中的数据】
	//var params interface{}
	err := w.ReadConfig(file, &config)
	if err != nil{
		fmt.Sprintln("初始化数据库失败")
		return
	}
	//name := w.GetValString(file,"name")				//这里是单独获取配置文件中的数据,按需使用
	//password := w.GetValString(file,"password")
	//database := w.GetValString(file,"database")

	connect := fmt.Sprintf("%s:%s@tcp(127.0.0.1:3306)/%s?charset=utf8", config.Data.Name,config.Data.Password,config.Data.Database)
	
	db, _ = sql.Open("mysql", connect)
	if err := db.Ping(); err != nil {
		fmt.Println("open database fail")
		return
	}
	defer db.Close()
}

感谢大佬的博文,让我了解了这个方法,读取配置文件数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值