Menu
Coddy logo textTech

Switch mit Ausdrücken

Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 40 von 109.

Lass uns etwas über Switch-Ausdrücke in Go lernen, die es uns ermöglichen, einen Wert direkt in der Switch-Anweisung auszuwerten.

Zuerst schauen wir uns an, wie man eine switch-Anweisung mit einem Ausdruck verwendet, um zu prüfen, ob eine Zahl 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 an:

Negative number

Beachten Sie, dass wir switch { ohne einen Wert dahinter verwenden. Das bedeutet, dass Go jeden case-Ausdruck als boolesche Bedingung auswertet. Da num den Wert -5 hat, wertet der zweite Fall num < 0 zu true aus, sodass „Negative number“ ausgegeben wird.

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 das gleiche 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). Dies macht unseren Code kompakter, während die gleiche Funktionalität beibehalten wird.

challenge icon

Aufgabe

Anfänger
In dieser Challenge übst du die Verwendung eines einfachen switch-Ausdrucks in Go. Du musst den Code vervollständigen, um die Beschreibung eines Tages basierend auf seinem Namen mithilfe einer switch-Anweisung zu bestimmen.

Eine Variable dayName ist bereits mit dem Wert "Wednesday" definiert. Deine Aufgabe ist es, einen switch-Ausdruck zu verwenden, um die Variable description wie folgt zu setzen:
- "Start of the week" für Monday
- "Midweek" für Wednesday
- "Almost weekend" für Friday
- "Weekend" für Saturday oder Sunday
- "Regular day" für jeden anderen Tag

Spickzettel

Switch-Ausdrücke in Go ermöglichen es Ihnen, Bedingungen direkt in der switch-Anweisung auszuwerten.

Verwenden Sie switch { ohne Wert, um boolesche Ausdrücke in jedem Fall auszuwerten:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Sie können eine Variable direkt in der switch-Anweisung initialisieren, indem Sie ein Semikolon verwenden, um die Initialisierung vom switch-Ausdruck zu trennen:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

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: Schreiben Sie 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"
	
	
	// Das Ergebnis ausgeben
	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