假设我有一个结构,应该作为上传的结果:
还会有其他类似的结构,它们都有一个字段
因为我想调用一个提取一些公共字段的函数,但仅提取那些公共字段:
那么我将如何重写它以使其达到我的期望?
最好的祝福
您应该只能够在特定结构中嵌入具有公共字段的结构。
现场演示:http://play.golang.org/p/7Ju-r-yE1-
因此,在这种情况下,实际上不需要接口。只需将
长话短说,Go接口不允许声明字段,因为从概念上讲,它们处理行为而不是数据。字段是数据。
有两种方法可以完成您想做的事情:
以下是一些有关如何实现此目的的示例:
此示例使用一个接口将APIResult字段公开为apiResponse接口的一部分:
http://play.golang.org/p/ONLzvqlP5R
这个使用接口将APIResult公开为包含以下内容的任何Result结构的一部分:
http://play.golang.org/p/NzxPHhDls_
关于这一点,您可以通过使
http://play.golang.org/p/k85vTJoFRn