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("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}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值