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("D:\\goland\\project\\src\\test\\2023\\2023-3-14\\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("-----------------")
	fmt.Println(ConfigData.Mysql)
}
结果
{3306 redis}
-----------------
{root mysql}
