Junior — Middle
Erklären Sie das Funktionsprinzip der Konstruktion type switch in der Programmiersprache Go und worin sie sich von einem normalen switch-case unterscheidet.
sobes.tech KI
Antwort von AI
Im Go-Sprachgebrauch wird die Konstruktion type switch verwendet, um zur Laufzeit einen bestimmten Typ eines Interface-Werts zu bestimmen. Sie ermöglicht es, je nach Typ der Variablen, die das Interface implementiert, unterschiedliche Aktionen auszuführen.
Beispielsyntax:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("anderer Typ")
}
Hier ist x eine Variable vom Interface-Typ, und v ist eine Variable mit einem konkreten Typ innerhalb jedes case.
Unterschied zum normalen switch-case:
- Ein gewöhnlicher switch vergleicht den Wert des Ausdrucks mit Konstanten oder Ausdrücken.
- Der type switch vergleicht den Typ des Werts des Interfaces, nicht den Wert selbst.
Der type switch ist nützlich bei der Arbeit mit Interfaces, wenn unterschiedliche Aktionen je nach tatsächlichem Typ des Objekts, das im Interface gespeichert ist, ausgeführt werden sollen.