登录
首页 >  Golang >  Go问答

条件(动态)结构标签

来源:stackoverflow

时间:2024-04-08 17:27:32 183浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《条件(动态)结构标签》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我正在尝试用 go 解析一些 xml 文档。我需要为此目的定义一些结构体,并且我的结构体标签取决于特定的条件。

想象一下下面的代码(尽管我知道它不会工作)

if someCondition {
    type MyType struct {
        // some common fields
        Date    []string `xml:"value"`
    }
} else {
    type MyType struct {
        // some common fields
        Date    []string `xml:"anotherValue"`
    }
}

var t MyType
// do the unmarshalling ...

问题是这两个结构有很多共同的字段。唯一的区别在于其中一个字段,我想防止重复。我该如何解决这个问题?


解决方案


您使用不同类型来解组。基本上,您编写两次解组代码,然后运行第一个版本或第二个版本。对此没有动态解决方案。

本篇关于《条件(动态)结构标签》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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