返回顶部
首页 > 资讯 > 精选 >go Lang load无法处理yaml文件
  • 429
分享到

go Lang load无法处理yaml文件

go语言 2024-02-09 16:02:51 429人浏览 泡泡鱼
摘要

PHP小编子墨发现,许多Go语言开发者在处理yaml文件时遇到了问题。尽管Go语言提供了load函数用于加载yaml文件,但是该函数却无法正确处理yaml文件的解析。这个问题导致了很多

PHP小编子墨发现,许多Go语言开发者在处理yaml文件时遇到了问题。尽管Go语言提供了load函数用于加载yaml文件,但是该函数却无法正确处理yaml文件的解析。这个问题导致了很多开发者在处理yaml文件时遇到了困难。那么,如何解决这个问题呢?在本文中,我们将为大家介绍一些解决方案,帮助开发者顺利处理yaml文件。

问题内容

我正在尝试读取 yaml 文件并将其存储在变量中,但由于某种原因,yaml 文件中的数组对象无法解组该文件。它显示空白数据。

下面是我的yaml文件内容

---
version: "1.2"

bunits:
  - name: buname
    bugroupid: asd
    bustgroupid: asd
  - name: buname2
    bugroupid: asd2
    bustgroupid: asd2

下面是正在使用的代码

type SResponse struct {
   Version       string         `JSON:"version"`
   BUnits []BUnit `json:"bUnits"`
}

type BUnit struct {
    Name                      string `json:"name"`
    BuUnitGroupID       string `json:"buGroupID"`
    BuUnitStGroupID string `json:"buStaticGroupID"`
}
func main() {

    _printf := fmt.Printf
    _printf("Start")
    var sListResponse SResponse

    source, err2 := ioutil.ReadFile("squads2.yml")

    if err2 != nil {
        _printf("Couldn't read yaml file.")
}

    err2 = yaml.Unmarshal(source, &sListResponse)
    if err2 != nil {
    _printf("Error")
    }

    _printf("Output: %s\n", sListResponse)
}

代码读取版本部分,但 bunits 数组为空。请提出建议。

解决方法

您的结构体用 json 标记进行装饰 - 您可能需要也可能不需要(取决于您稍后是否以 json 格式导出/导入此数据)。 但你手头的问题是 yaml 导入 - 所以你需要用 yaml 标签来装饰你的 struct 定义。

要支持 jsonyaml 编组/解组,只需更新您的标签,如下所示:

type SResponse struct {
    Version string  `json:"version" yaml:"version"`
    BUnits  []BUnit `json:"bUnits" yaml:"bUnits"`
}

type BUnit struct {
    Name            string `json:"name" yaml:"name"`
    BuUnitGroupID   string `json:"buGroupID" yaml:"buGroupID"`
    BuUnitStGroupID string `json:"buStaticGroupID" yaml:"buStaticGroupID"`
}

或者如果您不需要 json 编码/解码,则只需删除 json 标签即可。

以上就是go Lang load无法处理yaml文件的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: go Lang load无法处理yaml文件

本文链接: https://lsjlt.com/news/562703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • go Lang load无法处理yaml文件
    php小编子墨发现,许多Go语言开发者在处理yaml文件时遇到了问题。尽管Go语言提供了load函数用于加载yaml文件,但是该函数却无法正确处理yaml文件的解析。这个问题导致了很多...
    99+
    2024-02-09
    go语言
  • Go读取yaml文件到struct类的实现方法
    目录1、yaml文件准备2、config配置类准备3、读取配置文件到配置类3.1、安装Viper组件3.2、golang** **代码编写1、yaml文件准备 common: ...
    99+
    2023-01-17
    Go读取yaml文件 Go读取yaml
  • 解决python3写文件时无法处理中文字
    问题描述: 我用selenium访问了百度云,并获取了html内容,想把它保存到本地文件但总是报如下错误: ----------------------------------------------------------------...
    99+
    2023-01-31
    文字 文件
  • php文件下载后无法打开的处理方法
    本篇内容介绍了“php文件下载后无法打开的处理方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP下载图片后文件打开显示损坏问题用php...
    99+
    2023-06-20
  • Apache2无法正确解析PHP文件的处理方法
    由于篇幅限制,以下是一个简短的文章: Apache2是一种常用的Web服务器软件,而PHP是一种广泛使用的服务器端脚本语言。在搭建网站过程中,有时会遇到Apache2无法正确解析PHP...
    99+
    2024-03-08
    php apache 解析 php解析
  • Python接口自动化浅析yaml配置文件原理及用法
    目录一、yaml介绍及使用01 yaml简介02 yaml语法规则03 yaml数据结构对象数组纯量二、yaml配置文件的使用01 yaml配置文件准备02 yaml配置文件格式校验...
    99+
    2024-04-02
  • C#处理文本文件的方法
    本篇内容主要讲解“C#处理文本文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#处理文本文件的方法”吧!用C#处理文本文件的完整源程序代码(control.cs),现在就可以方便的得到...
    99+
    2023-06-17
  • Go语言中文件处理入门指南
    go 语言文件处理入门指南本文指南介绍了 go 语言中文件处理的基本概念和技术,包括:文件创建:使用 os.create 函数创建新文件。文件读取:使用 os.open 函数打开文件,并...
    99+
    2024-04-08
    go语言 文件处理
  • Python下载文件后无法找到路径的处理技巧
    python 中下载文件后找不到路径问题的处理技巧包括:使用 tempfile 模块创建临时文件,指定文件路径并访问临时文件;使用 shutil 模块和 namedtemporaryfi...
    99+
    2024-04-03
    python 文件路径
  • Go语言中如何处理并发文件的文件系统路径处理和文件名编码问题?
    Go语言是一门支持并发编程的编程语言,它提供了丰富的工具和库,可以方便地处理文件系统路径和文件名编码问题。在编写并发文件操作时,我们需要注意以下几个方面:文件系统路径的处理、文件名编码、并发操作。一、文件系统路径的处理:在处理文件系统路径时...
    99+
    2023-10-22
    并发处理 文件系统路径处理 文件名编码
  • autoexec.bat——批处理文件的方法
    "autoexec.bat"是一个批处理文件,它在DOS操作系统中用于自动执行命令。下面是一些使用autoexec.bat文件的方法...
    99+
    2023-09-15
    方法
  • 详解批处理文件语法
    目录1. 概述2. 常用命令列表2.1 rem / ::2.2 echo / @3. 常用特殊符号1. 概述 批处理,顾名思义就是进行批量的处理,也称为批处理脚本,英译为 BATCH...
    99+
    2024-04-02
  • DOS批处理文件的方法
    本篇内容主要讲解“DOS批处理文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“DOS批处理文件的方法”吧!DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文...
    99+
    2023-06-09
  • win10文件夹无响应假死怎么处理
      我们在更新完系统之后,有时候会遇到一些BUG问题,很多小伙伴都遇到了win10文件夹无响应的情况,那么win10文件夹无响应怎么解决呢,接下来小编就把解决win10文件夹无响应的方法分享给大家。快来一起看看吧。  win10文件夹无响应...
    99+
    2023-07-17
  • go语言编译文件过大如何处理
    如果Go语言编译文件过大,可以考虑以下几种处理方法:1. 使用静态链接:使用静态链接可以将依赖的库文件嵌入到可执行文件中,减少对外部...
    99+
    2023-10-21
    go语言
  • 文件处理:Go语言、JavaScript和NumPy的比较
    在现代软件开发中,文件处理是一个非常重要的任务。它涉及到文件的读取、写入、解析、转换等多个方面。在这篇文章中,我们将比较三种流行的编程语言,Go语言、JavaScript和NumPy在文件处理方面的优缺点。 Go语言 Go语言是谷歌推出的...
    99+
    2023-06-03
    javascript numpy 文件
  • Go语言中如何使用NumPy处理文件?
    NumPy是Python中一个强大的数值计算库,它可以用于处理大型的多维数组和矩阵运算。但是,对于Go语言开发者而言,如何在Go语言中使用NumPy呢? 在Go语言中,我们可以使用GoPy来使用Python的库。GoPy是一个用于在Go语...
    99+
    2023-08-05
    apache 文件 numy
  • php文件下载后无法打开的处理方案及代码
    PHP下载图片后文件打开显示损坏问题 用php写个图片下载方法,测试发现下载的图片大小都没问题,但是无法打开文件。 解决方法如下: 首先打开文件下载代码,增加 ob_clean(...
    99+
    2024-04-02
  • 无法在我的 python 文件中使用 go 共享库
    php小编小新你好,最近有读者在使用python文件时遇到了一个问题,他无法在自己的python文件中使用go共享库。这个问题可能是由于一些配置或环境问题导致的。在解决这个问题之前,你...
    99+
    2024-02-09
  • go GCM gin中间件的加密解密文件流处理
    目录aes的gcm模式的加密和解密验证1.GET请求2.看看post json3验证postformaes的gcm模式的加密和解密 要给已有的系统启用加密解密,目前推荐的是aes的g...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作