6
之間的公共領域如果我有兩種類型:圍棋 - 如何處理結構類型
type A struct {
X int
Y int
}
type B struct {
X int
Y int
Z int
}
有沒有什麼辦法來實現,而不需要兩種方法下,考慮到兩個接入相同名字的領域,並返回他們的總和?
func (a *A) Sum() int {
return a.X + a.Y
}
func (b *B) Sum() int {
return b.X + b.Y
}
當然,是X和Y方法,我可以定義一個包含這兩個方法的接口。有沒有類似的領域?
我很想知道爲什麼你選擇在B中嵌入指向A的指針,而不是直接在B中嵌入A.謹慎分享? – carbocation 2013-03-04 02:09:53
@jpp:只是因爲OP在指針接收器上有方法,所以我認爲它會更清晰。在某些情況下,它也有所不同,例如'B'也是一個值而不是指針,並試圖作爲接口傳遞,如下所示:http://play.golang.org/p/k2e5saB7OI但是這似乎不可能給出這個例子。 – 2013-03-04 02:23:46