golang读取yaml文件的示例代码

 更新时间:2023年09月07日 10:18:38   作者: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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • gorm update传入struct对象,零值字段不更新的解决方案

    gorm update传入struct对象,零值字段不更新的解决方案

    这篇文章主要介绍了gorm update传入struct对象,零值字段不更新的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • omitempty在go中的使用方式

    omitempty在go中的使用方式

    在Go语言编程中,`omitempty`标记用于JSON编解码过程中控制字段是否被包含,当结构体字段标记为`omitempty`且字段值为空时,该字段不会出现在生成的JSON中,有助于优化JSON结构和减小数据体积,通过具体示例解释了`omitempty`的工作机制和实际效果
    2024-09-09
  • 详解Go中gin框架如何实现带颜色日志

    详解Go中gin框架如何实现带颜色日志

    当我们在终端上(比如Goland)运行gin框架搭建的服务时,会发现输出的日志是可以带颜色的,那这是如何实现的呢?本文就来和大家简单讲讲
    2023-04-04
  • Go Java算法之单词搜索示例详解

    Go Java算法之单词搜索示例详解

    这篇文章主要为大家介绍了Go Java算法之单词搜索示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang 切片截取参数方法详解

    golang 切片截取参数方法详解

    这篇文章主要介绍了golang 切片截取参数方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Go语言实现JSON解析的神器详解

    Go语言实现JSON解析的神器详解

    php转go是大趋势,越来越多公司的php服务都在用go进行重构,重构过程中,会发现php的json解析操作是真的香。本文和大家分享了一个Go语言实现JSON解析的神器,希望对大家有所帮助
    2023-01-01
  • golang中对

    golang中对"引用传递"的误解

    这篇文章主要介绍了golang中对“引用传递”的误解,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 简介Go语言中的select语句的用法

    简介Go语言中的select语句的用法

    这篇文章主要介绍了简介Go语言中的select语句的用法,是golang入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • Go常用标准库之fmt的简介与使用详解

    Go常用标准库之fmt的简介与使用详解

    fmt 是 Go 语言中的一个常用标准库,它用于格式化输入和输出数据,这篇文章主要为大家介绍了fmt的基本使用,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Go语言io pipe源码分析详情

    Go语言io pipe源码分析详情

    这篇文章主要介绍了Go语言io pipe源码分析详情,pipe是一个适配器,用于连接Reader和Writer,pipe的方法不多,新的写法却不少,并且结构体分两块,读写信道和结束标识,下面进入文章了解具体的内容吧
    2022-02-02

最新评论