Menu
Coddy logo textTech

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 number

Beachte, 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 number

In 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.

challenge icon

Aufgabe

Anfänger
In dieser Herausforderung übst du die Verwendung eines einfachen switch-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 Tag

Probier 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)
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Go-Compiler