Menu
Coddy logo textTech

Switch mit Wertebereichen

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 30 von 86.

Switch-Anweisungen werden noch leistungsfähiger, wenn Sie Bereiche anstelle von Einzelwerten verwenden. Dies ist ideal, um Zahlen in Gruppen zu kategorisieren, wie zum Beispiel das Umwandeln einer Punktzahl in eine Note.

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
case 60..<70:
    print("D")
default:
    print("F")
}

Der ...-Operator erzeugt einen geschlossenen Bereich, der beide Endpunkte einschließt, sodass 90...100 die Werte 90, 91 bis hin zu 100 abdeckt. Der ..<-Operator erzeugt einen halboffenen Bereich, der die obere Grenze ausschließt – 80..<90 deckt 80 bis 89 ab.

Swift prüft jedes Case der Reihe nach und führt das erste passende aus. Da unser Score 85 ist, fällt er in den Bereich 80..<90, sodass „B“ ausgegeben wird. Dieser Ansatz ist viel sauberer als das Schreiben mehrerer else if-Bedingungen mit Vergleichsoperatoren.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion getAgeCategory, die age entgegennimmt und die Lebensphasen-Kategorie basierend auf Altersbereichen zurückgibt.

Verwenden Sie eine switch-Anweisung mit Bereichen, um das Alter in eine von fünf Lebensphasen zu kategorisieren.

Bedingungen:

  • 0...2 - return "Infant"
  • 3...12 - return "Child"
  • 13...19 - return "Teenager"
  • 20...64 - return "Adult"
  • 65...120 - return "Senior"
  • Jeder andere Wert - return "Invalid age"

Parameter:

  • age (Int): Das Alter der Person

Rückgabewert: Die Lebensphasen-Kategorie als String

Spickzettel

Switch-Anweisungen können Bereiche (Ranges) verwenden, um Werte innerhalb eines bestimmten Intervalls abzugleichen:

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
default:
    print("F")
}

Der Operator ... erstellt einen geschlossenen Bereich (closed range), der beide Endpunkte einschließt (z. B. entspricht 90...100 den Werten 90 bis einschließlich 100).

Der Operator ..< erstellt einen halboffenen Bereich (half-open range), der die obere Grenze ausschließt (z. B. entspricht 80..<90 den Werten 80 bis 89).

Swift prüft jeden Fall der Reihe nach und führt den ersten passenden aus.

Probier es selbst

func getAgeCategory(age: Int) -> String {
    // Schreibe hier den Code
}
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