Heim > Backend-Entwicklung > Golang > Wie kann ich Typzusicherungen in den Typwechselfällen von Go vermeiden?

Wie kann ich Typzusicherungen in den Typwechselfällen von Go vermeiden?

DDD
Freigeben: 2024-12-07 03:29:09
Original
321 Leute haben es durchsucht

How Can I Avoid Type Assertions in Go's Type Switch Cases?

So vermeiden Sie Typzusicherungen in Typschalterzweigen

In Go werden Typschalter häufig verwendet, um Objekte unterschiedlichen Typs zu verarbeiten. Allerdings kann es mühsam sein, den Typ eines Objekts in jedem einzelnen Fall manuell zu bestätigen. Bei dieser Frage geht es darum, die Notwendigkeit solcher Behauptungen zu beseitigen.

Ursprüngliche Frage:

Ich verwende Typschalter wie die folgenden:

switch question.(type) {
case interfaces.ComputedQuestion:
    handleComputedQuestion(question.(interfaces.ComputedQuestion), symbols)
case interfaces.InputQuestion:
    handleInputQuestion(question.(interfaces.InputQuestion), symbols)
}
Nach dem Login kopieren

Gibt es eine Möglichkeit, die explizite Typzusicherung innerhalb von zu verhindern? Fälle?

Antwort:

Ja, Sie können Typzusicherungen vermeiden, indem Sie das Ergebnis des Typwechsels einer Variablen des erwarteten Typs zuweisen. Dadurch erhalten Sie den bestätigten Typ, ohne dass weitere Behauptungen erforderlich sind.

switch question := question.(type) {
case interfaces.ComputedQuestion:
    handleComputedQuestion(question, symbols)
case interfaces.InputQuestion:
    handleInputQuestion(question, symbols)
}
Nach dem Login kopieren

In diesem Beispiel weist der Ausdruck Frage := Frage.(Typ) das Ergebnis des Typwechsels der Fragevariablen zu. Der Typwechsel selbst bleibt unverändert.

Dieser Ansatz vereinfacht Ihren Code, indem er die Notwendigkeit manueller Typzusicherungen innerhalb der Fälle eliminiert, wodurch er prägnanter und leichter lesbar wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Typzusicherungen in den Typwechselfällen von Go vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage