karşılamak için birden yapılar genelinde bir işlevi bir arabirim karşılamak için birden yapılar arasında aynı işlevini kullanabilirsiniz yine de var mı? ÖrneğinYeniden bir arayüz
: Kurt ve Beagle aynı işlevi paylaşan Çünkü
package main
import "fmt"
type Animal interface {
Speak() string
}
type Dog struct {}
func (d Dog) Speak() string {
return "Woof!"
}
type Wolf struct {}
func (w Wolf) Speak() string {
return "HOWWWWWWWWL"
}
type Beagle struct {}
func (b Beagle) Speak() string {
return "HOWWWWWWWWL"
}
type Cat struct {}
func (c Cat) Speak() string {
return "Meow"
}
func main() {
var a Animal
a = Wolf{}
fmt.Println(a.Speak())
}
, o zaman, bir kere o fonksiyonu yazma ikisi de Hayvan tatmin böylece iki yapılar arasında paylaşmak için zaten var mı?
gömme olan yapı üzerinde herhangi alanları başvurmak için gömülü tipine yöntemi için yine de var mı? – sjmh
Yansıma kullanılabilir, i gues. çalışma zamanı hatası bu şekilde artması olasılığı maalesef ... – Altenrion
sjmh onun alıcısı gömülü olduğu bir yapı içinde alanları başvuruda bulunabilir bir yöntem yazmak mümkün değildir çünkü çok, herhangi controll ve herkes çağrıyı kontrol etmek orada içe olacağını Böyle bir sözdizimi yoktur ve böyle bir yapıda * * gömülmediğinde ne yapması gerektiği net bir yol yoktur. – thomasrutter