Switch ohne Ausdruck
Teil des Abschnitts Grundlagen der GO-Journey von Coddy. Lektion 41 von 109.
In Go können wir eine switch-Anweisung ohne Ausdruck nach dem Schlüsselwort verwenden. Das ist nützlich, wenn wir mehrere Bedingungen auf übersichtliche Weise auswerten möchten.
Erstellen wir ein Programm, das eine Person basierend auf ihrem Alter kategorisiert:
age := 25
switch {
case age < 13:
fmt.Println("Child")
case age < 20:
fmt.Println("Teenager")
case age < 30:
fmt.Println("Young Adult")
default:
fmt.Println("Adult")
}Nach der Ausführung dieses Codes prüft das Programm jede Fallbedingung der Reihe nach. Da unser Alter 25 beträgt, ist es weder kleiner als 13 noch als 20, aber es ist kleiner als 30, daher trifft der dritte Fall zu. Der Text „Young Adult“ wird auf dem Bildschirm angezeigt:
Young AdultBeachte, dass ohne einen Ausdruck nach switch jeder Fall zu einer booleschen Bedingung wird, die entweder true oder false ergibt. Der erste Fall, der zu true ausgewertet wird, führt seinen Codeblock aus.
Wenn keiner der Fälle übereinstimmt, würde der default-Fall ausgeführt. In unserem Beispiel wäre die Ausgabe „Adult“, wenn age 35 wäre.
Aufgabe
EinfachIn dieser Aufgabe übst du die Verwendung einer switch-Anweisung ohne Ausdruck. Diese Art von switch ist nützlich, wenn du mehrere Bedingungen auswerten möchtest, ohne if-else-Anweisungen zu wiederholen.
Wir haben eine Variable timeOfDay bereitgestellt, die die aktuelle Stunde (im 24-Stunden-Format) darstellt. Deine Aufgabe besteht darin, die switch-Anweisung ohne Ausdruck zu vervollständigen, um abhängig von der Tageszeit eine passende Begrüßung auszugeben.
Verwende diese Bereiche und gib genau diese Nachrichten aus:
- 5 bis 11:
Good morning! - 12 bis 17:
Good afternoon! - 18 bis 21:
Good evening! - jede andere Stunde:
Hello!(derdefault-Fall, der bereits geschrieben ist)
Mit timeOfDay = 14 gibt das Programm Good afternoon! aus.
Probier es selbst
package main
import "fmt"
func main() {
// Dies stellt die aktuelle Stunde im 24-Stunden-Format dar (0-23)
timeOfDay := 14 // Das ist 14:00 Uhr
// TODO: Vervollständige die switch-Anweisung ohne Ausdruck
// um den passenden Gruß basierend auf der Tageszeit auszugeben
switch {
// Füge hier deine cases hinzu
default:
fmt.Println("Hello!")
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
Vergleichsoperatoren – Teil 1Vergleichsoperatoren – Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung – Vergleiche durchführen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärt`for`-Schleife – Grundlagen`for`-Schleife – nur BedingungDas Schlüsselwort `break`Das Schlüsselwort `continue`Verschachtelte SchleifenWiederholung – Aktionen wiederholen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteZeichenkettenNullwerteKonstantenNamenskonventionenRückblick – Variablen und Typen5Grundlegende Ein- und Ausgabe
Formatierte AusgabeFormatierungsverbenDatentypen ausgebenGrundlegende Benutzereingaben erhaltenRückblick – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des FunktionsumfangsRückblick – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorErweiterte ZuweisungsoperatorenInkrement und DekrementRückblick – Berechnungen6Kontrollfluss: Bedingungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariablen-Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Zeigervariablen deklarierenDer AdressoperatorZeiger dereferenzierenZeiger in Funktionen verwendenNil-ZeigerRückblick – Zeiger verstehen12Zusammengesetzte Datentypen: Maps
Einführung in MapsMap-Literale deklarierenMaps mit `make` erstellenSchlüssel-Wert-Paare hinzufügen und aktualisierenAuf Map-Werte zugreifenDas Vorhandensein eines Schlüssels prüfenMap-Einträge löschenLänge von MapsMaps durchlaufenZusammenfassung – Schlüssel-Wert-SpeicherungÜbe selbstständig: Online-Go-Compiler