Typ-unabhängige Kanäle gehen
Ich bin immer noch irgendwie der Umhüllung meinem Kopf, um Schnittstellen innerhalb golang. Ist es möglich, mehrere unterschiedliche Typen über eine einzige, "generic" - Kanal?
Hier ist ein sehr einfaches Beispiel: http://play.golang.org/p/7p2Bd6b0QT.
InformationsquelleAutor ben lemasurier | 2014-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist möglich. Zum Beispiel in Ihrem code könnten Sie nur nutzen:
Und dann würden Sie in der Lage sein zu senden nahtlos alles, was implementiert
type pet interface
.Wenn Sie etwas senden möchten komplett generische Sie können eine
chan interface{}
und verwenden Sie dannreflect
um herauszufinden, was es ist, wenn Sie erhalten, etwas.Einen dumm - und wahrscheinlich nicht idiomatisch - Beispiel:
Als BurntSushi5 Punkte heraus, eine Art Schalter ist besser:
reflect
benötigt.Danke für deinen Kommentar!
InformationsquelleAutor cnicutar