Switch mit Ausdrücken
Teil des Abschnitts Grundlagen der GO-Journey von Coddy. Lektion 40 von 109.
Lernen wir switch expressions in Go kennen, mit denen wir einen Wert direkt in der switch-Anweisung auswerten können.
Sehen wir uns zunächst an, wie man eine switch-Anweisung mit einem Ausdruck verwendet, um zu prüfen, ob eine number positiv, negativ oder null ist:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Nach der Ausführung dieses Codes zeigt das Programm auf dem Bildschirm Folgendes an:
Negative numberBeachte, dass wir switch { ohne einen Wert danach verwenden. Das bedeutet, dass Go jeden case-Ausdruck als boolesche Bedingung auswertet. Da num -5 ist, wird der zweite Fall num < 0 zu true ausgewertet, daher wird „Negative number“ ausgegeben.
Wir können eine Variable auch direkt in der switch-Anweisung initialisieren. Sehen wir uns an, wie das funktioniert:
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Nach der Ausführung dieses Codes erhalten wir dasselbe Ergebnis:
Negative numberIn diesem Beispiel haben wir num direkt in der switch-Anweisung deklariert und initialisiert. Das Semikolon trennt die Initialisierung vom switch-Ausdruck (der hier leer ist). Dadurch wird unser Code kompakter, während die Funktionalität gleich bleibt.
Aufgabe
Anfängerswitch-Ausdrucks in Go. Du musst den Code vervollständigen, um die Beschreibung eines Tages anhand seines Namens mithilfe einer switch-Anweisung zu bestimmen.Eine Variable
dayName ist bereits mit dem Wert "Wednesday" definiert. Deine Aufgabe besteht darin, einen switch-Ausdruck zu verwenden, um die Variable description folgendermaßen zu setzen:-
"Start of the week" für Montag-
"Midweek" für Mittwoch-
"Almost weekend" für Freitag-
"Weekend" für Samstag oder Sonntag-
"Regular day" für jeden anderen TagProbier es selbst
package main
import "fmt"
func main() {
// Der Tagesname ist bereits definiert
dayName := "Wednesday"
// Variable zum Speichern der Beschreibung
var description string
// TODO: Schreibe eine switch-Anweisung, die die Beschreibung basierend auf dayName setzt
// Für Monday: "Start of the week"
// Für Wednesday: "Midweek"
// Für Friday: "Almost weekend"
// Für Saturday oder Sunday: "Weekend"
// Für jeden anderen Tag: "Regular day"
// Gib das Ergebnis aus
fmt.Printf("%s is %s\n", dayName, description)
}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