我正在寻找一种可以是Foo或Bar的结构。
现在我有:
type Foo struct{}
type Bar struct{}
// This is the end version consumed by my package
type Baz struct {
Foo Foo `json:"foo,omitempty"`
Bar Bar `json:"bar,omitempty"`
// ... there are different members here
}
然后在我的内部函数中,我需要检查Baz是否包含Foo或Bar,并以不同的方式处理它们。
是否有惯用的方式来处理此问题?现在,我正在检查Foo的成员是否为默认值,但是感觉很黑。
我已经考虑过使成员指针成为可空的,然后可以将它们检查为零。
我在这里想念东西吗?