Swift Academy · Lektion

Kraftfull switch med mönstermatchning

Skriv uttrycksfulla switch-satser: matcha associerade värden, intervall och tupler och lägg till where-satser. Håll grenarna fullständiga och lättlästa.

Lektion 2 av 38 steg

Kraftfull switch med mönstermatchning är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 2 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 3 lektioner.

Varför mönstermatchning?

Swifts switch matchar mönster: enum-värden med associerade data, numeriska intervall, tupler och where-villkor. Den är dessutom uttömmande.

Associerade värden

Bind associerade värden med let/var direkt i case-mönstret.

enum Network {
    case success(code: Int, body: String)
    case failure(message: String)
    case offline
}

let r1: Network = .success(code: 200, body: "OK")
switch r1 {
case .success(let code, let body):
    print("success", code, body)
case .failure(let msg):
    print("fail:", msg)
case .offline:
    print("offline")
}

Intervallmatchning

Matcha numeriska intervall som 90...100 eller 80..<90. Använd , för att matcha flera mönster i samma case.

let score = 73
switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 60..<80:
    print("C")
case 0..<60:
    print("D")
default:
    print("invalid")
}

Tupler och where

Matcha tupler och förfina matchningen med ett where-villkor för lättlästa geometृiliknande kontroller.

let point = (x: -2, y: 3)
switch point {
case (0, 0):
    print("origin")
case (let x, 0):
    print("x-axis at", x)
case (0, let y):
    print("y-axis at", y)
case (let x, let y) where x > 0 && y > 0:
    print("Q1:", x, y)
default:
    print("somewhere else")
}

Jokertecken och partiell matchning

Använd _ för att ignorera fält eller bara binda det Ni behöver. Håll grenarna små och tydliga.

enum Event {
    case message(String, priority: Int)
    case ping
}
let e: Event = .message("update", priority: 1)

switch e {
case .message(let text, priority: _):
    print("msg:", text)           // ignore priority with _
case .ping:
    print("ping")
}

Tips

Tips:

  • Prioritera specifika fall först och använd default för den sällsynta resten.
  • Bind värden med case let och förfina matchningen med where.
  • Utforma enumtyper så att switch kan vara uttömmande utan en default när det är möjligt.

Switchens kraft

Snabb kontroll: Varför är Swift:s switch mer uttrycksfull?

Sammanfattning

Sammanfattning: Använd switch för att matcha mönster—bind enumvärden, rikta in Er på intervall, kombinera tupler och filtrera med where—samtidigt som matchningen förblir uttömmande.

Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
122
Lektioner
409

Vanliga frågor

Är lektionen ”Kraftfull switch med mönstermatchning” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Kraftfull switch med mönstermatchning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Kraftfull switch med mönstermatchning”?

Skriv uttrycksfulla switch-satser: matcha associerade värden, intervall och tupler och lägg till where-satser. Håll grenarna fullständiga och lättlästa. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 3.

Hur lång tid tar lektionen ”Kraftfull switch med mönstermatchning”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Swift Academy-lektionen?

Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Grunderna i kraftfulla enums
  2. Kraftfull switch med mönstermatchning
  3. Modellering av finita tillstånd
← Tillbaka till Swift Academy