0
Ich verwende Typ Schalter in Go, z. die folgende:Vermeiden Sie Typ Assertions in den Zweigen eines Typs wechseln
switch question.(type) {
case interfaces.ComputedQuestion:
handleComputedQuestion(question.(interfaces.ComputedQuestion), symbols)
case interfaces.InputQuestion:
handleInputQuestion(question.(interfaces.InputQuestion), symbols)
}
Gibt es eine Möglichkeit zu verhindern, dass ich die Art der Frage im Inneren des Gehäuses behaupten, bevor es in eine andere Funktion übergeben können?
Super Jim, zwei Antworten in einer Reihe. Ich wusste, dass es einen besseren Weg geben musste. Vielen Dank! – edwardmp
@edwardmp, das wird in [der Spezifikation] (https://golang.org/ref/spec#Switch_statements) erklärt. "Effective Go" [hat es abgedeckt] (https://golang.org/doc/effective_go.html#type_switch) und auch [der Wiki-Artikel über Switches] (https://github.com/golang/go/wiki/Schalter). Also rate ich dir wirklich, ein Buch über Go zu lesen ("Effective Go" wäre für den Anfang nur okay). – kostix