Golang 程序讀取yaml配置文件
1、安裝依賴;
go get gopkg.in/yaml.v2
2、添加配置文件config.yaml;
redis:
port: 3306
user: redis
mysql:
userName: root
passWord: mysql
3、編寫go代碼讀取配置文件數據;
注意:和yaml文件數據對應用來存儲yaml數據的結構體內的字段首字母大寫,否則經過 yaml.Unmarshal 轉換后,無法通過 結構體名稱.字段名 獲取數據。
package main
import (
"fmt"
"gopkg.in/yaml.v2"
"os"
)
type conf struct {
Redis struct {
Port int64 `yaml:"port"`
User string `yaml:"user"`
} `yaml:"redis"`
Mysql struct {
UserName string `yaml:"userName"`
PassWord string `yaml:"passWord"`
} `yaml:"mysql"`
}
var ConfigData *conf
func loadConfig() error {
config := new(conf)
yamlFile, err := os.ReadFile("./config.yaml")
if err != nil {
return err
}
err = yaml.Unmarshal(yamlFile, config)
if err != nil {
return err
}
ConfigData = config
return nil
}
func main() {
err := loadConfig()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(ConfigData.Redis)
fmt.Println(ConfigData.Mysql)
}
// {3309 redis}
// {root mysql}

浙公網安備 33010602011771號