登录
首页 >  Golang >  Go问答

如何在 Go 语言中读取YAML文件中的初始键?

来源:stackoverflow

时间:2024-03-03 18:51:26 186浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《如何在 Go 语言中读取YAML文件中的初始键?》,涉及到,有需要的可以收藏一下

问题内容

我有以下 yaml 文件

arbitratykey:
    things:
       - value 1
       - value 2

canbeanything:
    things:
       - value 1
       - value 2

asdasdasd:
    things:
       - value 1
       - value 2

当我无法知道根密钥是什么时,如何选择一个密钥?

我正在使用以下库 https://godoc.org/gopkg.in/yaml.v2#unmarshal

显然下面的代码不起作用,但是如何在不指定类型的情况下访问 canbeanything 密钥?

type T struct{}

t := T{}
yaml.Unmarshal([]byte(data), &t)
fmt.Println(t.canBeAnything)

解决方案


在正常情况下,如果您正在解析某个文件,您会在解析它之前知道它的外观。因此,如果您知道文件的外观,请考虑将 unmarshaling 定义为定义文件形状的结构体的实例。

如果您不知道架构并且需要动态工作,请将 unmarshal 转换为 map[string]interface{}

t := make(map[string]interface{})
yaml.Unmarshal([]byte(data), &t)
fmt.Println(t["canBeAnything"])

到这里,我们也就讲完了《如何在 Go 语言中读取YAML文件中的初始键?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>