2017-01-22 51 views
2

我定義了兩個結構類型Type1和Type2如何解決模棱兩可的選擇圍棋

type Type1 struct { 
A1,B1,C1 string 
} 
type Type2 struct { 
A1,B1 string 
} 

嵌入它們的結構類型超類型

type Supertype struct { 
    Type1 
    Type2 
} 

然後定義與方法接口發件人發送才能使用對於Type1和Type2

type Sender interface { 
    Send() 
} 

最後,我定義了func,我想引用Type1和Type2字段

func (p Supertype) Send() { 
.. 
p.A1 = "foo" 
.. 

} 
當然得到 '曖昧選擇p.A1'錯誤的

。如何使用方法發送兩種結構類型Type1和Type2?還有類似的問題兩種不同的類型如何在使用接口的golang中實現相同的方法?但我不認爲它適用於我而言

回答

5

您可以使用

p.Type1.A1 

如果Type2也有同場A1