我定义了两个结构类型Type1和Type2
type Type1 struct { A1,B1,C1 string } type Type2 struct { A1,B1 string }
将它们嵌入到struct type Supertype中
type Supertype struct { Type1 Type2 }
然后使用方法Send定义接口Sender,以便同时用于Type1和Type2
type Sender interface { Send() }
最后,我定义了func,我想引用Type1和Type2字段
func (p Supertype) Send() { .. p.A1 = "foo" .. }
当然得到'模棱两可的选择器p.A1'错误.如何使用方法发送两种结构类型Type1和Type2?有类似的问题两个不同类型如何在golang中使用接口实现相同的方法?但我不认为它适用于我的情况
您可以使用
p.Type1.A1
如果Type2
也有相同的字段A1