登录
首页 >  Golang >  Go问答

在不知道字段名称的情况下解析 YAML

来源:stackoverflow

时间:2024-04-29 11:03:35 303浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《在不知道字段名称的情况下解析 YAML》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我正在尝试解析具有以下结构的 yaml 文件:

contacts:
  teamone:
    email:
      to: '[email protected]'

我可以这样获取电子邮件地址:

https://go.dev/play/p/gt_smmgdmch

我的问题是,如何从如下所示的 yaml 文件中获取所有电子邮件地址(或特定地址):

contacts:
  teamone:
    email:
      to: '[email protected]'
  teamtwo:
    email:
      to: '[email protected]'

此外,人们可以随时向此文件添加新的团队/电子邮件地址。

这样做的目的是从 yaml 文件中查找联系方式详细信息。因此,某人可以运行该程序,为其提供一个团队(例如“teamnine”),并且输出将是与该条目关联的电子邮件。

如有任何建议,我们将不胜感激。


正确答案


team 定义为单独的结构体,并使用映射:

type Team struct {
   Email struct {
      To string `yaml:"to"`
   } `yaml:"email"`
}

type Contacts struct {
    Contacts  map[string]Team `yaml:"contacts"`
}

以上就是《在不知道字段名称的情况下解析 YAML》的详细内容,更多关于的资料请关注golang学习网公众号!

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