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
}
是否有一种惯用的方式用一种类型来表示这两种变体?对我来说,如果您的结构能够在任何时间点接受其中的一部分,那么第一个定义应该始终是您所选择的定义,因为单个项可以被视为集合的子集
您可以向该结构中添加函数,使开发人员更容易与该结构交互,但对我来说,这看起来很好。一个类型只能有一个定义。您可以将它设置为
接口{}
,但我不推荐它;这将使代码的其余部分更加笨拙。