Swift Academy · Lektion

Uttömmande switch över värden

Täcka alla fall eller använda en standardgren.

Lektion 1 av 413 steg

Uttömmande switch över värden är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 1 av 4. 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 4 lektioner.

Vad switch gör

En switch jämför ett värde med flera fall och kör det första som matchar. Det är ett tydligt alternativ till långa kedjor av if/else-if.

let day = 3
switch day {
case 1:
    print("Monday")
case 2:
    print("Tuesday")
case 3:
    print("Wednesday")
default:
    print("Other")
}

Ingen implicit fallthrough

Till skillnad från C går Swift-fall inte automatiskt vidare till nästa fall. När ett matchande fall har körts avslutas switchen. Ingen break behövs.

let n = 1
switch n {
case 1:
    print("one")
case 2:
    print("two")
default:
    print("many")
}

Switch måste vara uttömmande

En switch måste täcka alla möjliga värden. För en Int kan du inte lista dem alla, så du anger ett default-fall.

let code = 500
switch code {
case 200:
    print("OK")
case 404:
    print("Not Found")
default:
    print("Unhandled: \(code)")
}

Fallet default

Fallet default fångar allt som inte matchades ovanför. Det måste komma sist.

let grade = "X"
switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
default:
    print("Needs review")
}

Switch på strängar

Switch fungerar med alla jämförbara värden, inklusive strängar.

let command = "start"
switch command {
case "start":
    print("Starting")
case "stop":
    print("Stopping")
default:
    print("Unknown command")
}

Inga tomma fall

Varje fall måste innehålla minst en sats. Om du verkligen vill att ett fall inte ska göra något skriver du break.

let n = 2
switch n {
case 1:
    print("one")
case 2:
    break
default:
    print("other")
}
print("done")

Switch som sats

En switch kör satser; den returnerar inte själv ett värde. Om du vill skapa ett värde tilldelar du det i varje fall eller använder switchen för att anropa funktioner.

let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)

Switch på Bool

Du kan göra en switch på en Bool med fallen true och false. Inget default behövs eftersom båda fallen täcks.

let isReady = true
switch isReady {
case true:
    print("Go")
case false:
    print("Wait")
}

Enum behöver inget default

När du gör en switch över en enum och hanterar alla fall är switchen redan uttömmande, så ett default är överflödigt.

enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}

Lättläst logik med flera vägar

Switch håller beslut med flera möjliga vägar välstrukturerade. Varje utfall har ett eget namngivet fall som är lätt att överblicka och bygga ut.

let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)

Placera default rätt

default måste vara det sista fallet. Om det placerades tidigare skulle senare fall bli otillgängliga, vilket Swift förbjuder.

let x = 7
switch x {
case 0:
    print("zero")
case 7:
    print("seven")
default:
    print("something else")
}

Snabbtest

Testa en uttömmande switch.

Sammanfattning: Uttömmande switch över värden

En Swift-switch matchar det första fallet, går aldrig implicit vidare till nästa och måste vara uttömmande. Använd default för öppna typer som Int eller String; enum-värden där alla fall täcks behöver inget default.

let n = 3
switch n {
case 1: print("a")
default: print("b")
}
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 ”Uttömmande switch över värden” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Uttömmande switch över värden”, 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 4 lektioner.

Vad lär jag mig i ”Uttömmande switch över värden”?

Täcka alla fall eller använda en standardgren. 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 1 av 4.

Hur lång tid tar lektionen ”Uttömmande switch över värden”?

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. Uttömmande switch över värden
  2. Matcha intervall och tupler
  3. Värdebindning och where-satser
  4. Sammansatta fall och fallthrough
← Tillbaka till Swift Academy