golang通过yaml设置配置文件
1:安装
go get gopkg.in/yaml.v2 #v2版本 go get gopkg.in/yaml.v3 #v3版本,选择一个就行
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.v3"
)
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 #获取端口