Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > golang读取yaml文件

golang读取yaml文件的示例代码

作者:runscript.sh

本文主要介绍了golang读取yaml文件的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

yaml文件名:agent.yml

agent:
  agentName: agent001
  location:
      type: cdb
      env: prod
      role: ro
      set: tsh2
      idc: st4
      zone: ap-shanghai-4
      hostname: baidu.com
  content: register new Agent agent001

注意,空格,不要用tab键
golang文件:main.go

package main
import (
	"fmt"
	"os"
	"gopkg.in/yaml.v2"
)
type LocationKey struct {
	CloudType string `yaml:"type"`
	Env       string `yaml:"env"`
	Role      string `yaml:"role"`
	Set       string `yaml:"set"`
	Idc       string `yaml:"idc"`
	Zone      string `yaml:"zone"`
	Hostname  string `yaml:"hostname"`
}
type Agent struct {
	AgentName string      `yaml:"agentName"`
	AgentKey  LocationKey `yaml:"location"`
	Content   string      `yaml:"content"`
}
type as struct {
	Magent Agent `yaml:"agent"`
}
func main() {
	var a as
	data, err := os.ReadFile("./agent.yml")
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	fmt.Println(string(data))
	err = yaml.Unmarshal(data, &a)
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	fmt.Println(a)
}

执行:

# go mod tidy
# go build main.go

到此这篇关于golang读取yaml文件的示例代码的文章就介绍到这了,更多相关golang读取yaml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文