Go 带变体的结构-惯用的表示方法

Go 带变体的结构-惯用的表示方法,go,Go,表示具有类型变体的结构的最佳惯用方式是什么 例如,假设我有: type A struct { This []string That int32 } 但我可能还需要将其表示为: type A struct { This string That int32 } 是否有一种惯用的方式用一种类型来表示这两种变体?对我来说,如果您的结构能够在任何时间点接受其中的一部分,那么第一个定义应该始终是您所选择的定义,因为单个项可以被视为集合的子集 您可以向该结构中添加函数,使开发人员更容易

表示具有类型变体的结构的最佳惯用方式是什么

例如,假设我有:

type A struct {
  This []string
  That int32
}
但我可能还需要将其表示为:

type A struct {
   This string
   That int32
}

是否有一种惯用的方式用一种类型来表示这两种变体?

对我来说,如果您的结构能够在任何时间点接受其中的一部分,那么第一个定义应该始终是您所选择的定义,因为单个项可以被视为集合的子集


您可以向该结构中添加函数,使开发人员更容易与该结构交互,但对我来说,这看起来很好。

一个类型只能有一个定义。您可以将它设置为
接口{}
,但我不推荐它;这将使代码的其余部分更加笨拙。