道者编程


golang通过yaml设置配置文件

1:安装

go get gopkg.in/yaml.v2

 2:随便取个名字,建一个conf.yaml的文件。

# 数据库信息
database:
  dbtype: mysql
  host: 127.0.0.1
  port: 3306
  dbname: dao #数据库名
  username: root
  password: 123456
  charset: utf8

# go 端口
application:
  port: 8080

 3:再建立一个conf.go文件,用于获取配置

package conf

import (
	"fmt"
	"io/ioutil"

	"gopkg.in/yaml.v2"
)

type Conf struct {
	Database    Database
	Application Application
}

type Database struct {
	Dbtype   string
	Host     string
	Port     string
	Dbname   string
	Username string
	Password string
	Charset  string
}

type Application struct {
	Port string
}

// 获取配置信息
func GetConf() Conf {
	var conf Conf
	// 加载文件
	yamlFile, err := ioutil.ReadFile("./app/config/conf.yaml")

	if err != nil {
		fmt.Println(err.Error())
	}
	// 将读取的yaml文件解析为响应的 struct
	err = yaml.Unmarshal(yamlFile, &conf)

	if err != nil {
		fmt.Println(err.Error())
	}
	return conf
}
 
conf.GetConf().Database.Dbname #获取数据库名
conf.GetConf().Application.Port #获取端口
 


最新评论:
我要评论:

看不清楚