Uttömmande switch över värden
Täcka alla fall eller använda en standardgren.
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")
}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
- Uttömmande switch över värden
- Matcha intervall och tupler
- Värdebindning och where-satser
- Sammansatta fall och fallthrough