- Autor

- Name
- Nelson Silva
- Social
Einführung
Der switch ist ein leistungsstarkes Werkzeug in Go, das Programmierern ermöglicht, Entscheidungen basierend auf mehreren Fällen zu treffen. Im Vergleich zu Konditionalen mit if und else ist der switch oft lesbarer, besonders wenn viele Bedingungen behandelt werden.
Grundlagen des Switch
- Gleichheitsprüfung: Der
switchvergleicht den gegebenen Ausdruck mit den Werten jedescase. - Einmalige Ausführung: Anders als in anderen Sprachen verlässt das Programm in Go den
switch-Block, sobald eincaseübereinstimmt. Ein explizites "break" ist nicht erforderlich. - Default-Klausel: Stimmt kein
caseüberein, wird der Code unterdefaultausgeführt.defaultist jedoch optional.
Einfacher Switch
wochentag := "donnerstag"
switch wochentag {
case "montag":
fmt.Println("Heute ist Montag.")
case "dienstag":
fmt.Println("Heute ist Dienstag.")
default:
fmt.Println("Es ist weder Montag noch Dienstag.")
}
Switch mit Mehreren Bedingungen in einem Case
Es ist möglich, mehrere mögliche Werte in einem einzigen case zu kombinieren:
buchstabe := 'B'
switch buchstabe {
case 'A', 'E', 'I', 'O', 'U':
fmt.Println("Vokal")
default:
fmt.Println("Konsonant")
}
Switch mit Initialisierer
Genau wie die if-Anweisung kann der switch auch eine Initialisierung haben:
switch num := 5; num {
case 1, 3, 5, 7, 9:
fmt.Println("Ungerade Zahl")
default:
fmt.Println("Gerade Zahl")
}
Typ-Switch
Go unterstützt auch einen typbasierten switch, der nützlich ist, wenn man mit Interfaces arbeitet:
var x interface{} = "Text"
switch x.(type) {
case int:
fmt.Println("x ist eine Ganzzahl")
case string:
fmt.Println("x ist eine Zeichenkette")
default:
fmt.Println("Unbekannter Typ")
}
Fazit
Die switch-Anweisung in Go bietet eine saubere und effiziente Möglichkeit, mehrere Bedingungen zu behandeln. Ob zum Prüfen von Werten oder Typen – der switch macht den Code strukturierter und lesbarer.