Loopstyrning i switch-kontext
Skilj på break i loopar och i switch-satser.
Loopstyrning i switch-kontext är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 4 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.
break i switch
I en switch avslutar break switch-caset. Swift låter inte case falla igenom automatiskt, så break är vanligtvis valfritt men tillåtet.
let n = 2
switch n {
case 1:
print("one")
case 2:
print("two")
break
default:
print("other")
}Tomt case med break
Använd break för att uttryckligen ange att ett case inte ska göra något. Det är tydligare än en tom kropp.
let code = 0
switch code {
case 0:
break // intentionally ignore
default:
print("handled", code)
}
print("after switch")break i en switch inuti en loop
När en switch finns inuti en loop lämnar ett vanligt break switchen, inte loopen.
for n in 1...4 {
switch n {
case 3:
break // exits switch only
default:
print(n)
}
}
print("loop finished")Lämna loopen från en switch
Om du vill lämna den omslutande loopen inifrån en switch sätter du en label på loopen och använder break label.
loop: for n in 1...5 {
switch n {
case 3:
break loop
default:
print(n)
}
}
print("done")continue från en switch
Ett vanligt continue inuti en switch syftar på den omslutande loopen och går vidare till dess nästa iteration.
for n in 1...5 {
switch n {
case let x where x % 2 == 0:
continue
default:
print(n)
}
}Varför skillnaden spelar roll
Att blanda ihop switch-break och loop-break är ett vanligt fel. Kom ihåg att ett ensamt break i en switch bara lämnar switchen.
for n in 1...3 {
switch n {
case 2:
break
default:
print("value", n)
}
}
print("all values processed")fallthrough
Om du faktiskt vill ha fall-through-beteende använder du det uttryckliga nyckelordet fallthrough.
let n = 1
switch n {
case 1:
print("one")
fallthrough
case 2:
print("two")
default:
print("done")
}Labeled break för tydlighet
Även när det inte är strikt nödvändigt visar en labeled break att du menar loopen.
scan: for value in [10, 20, 30, 40] {
switch value {
case 30:
break scan
default:
print(value)
}
}Kombinera where-satser
Pattern-where-satser tillsammans med continue låter dig filtrera på ett elegant sätt inuti en switch.
for n in 1...6 {
switch n {
case let x where x > 4:
continue
default:
print(n)
}
}Nästlad switch och loop
Med nästlade loopar och en switch gör labels målet entydigt.
outer: for i in 1...3 {
for j in 1...3 {
switch j {
case 2:
break outer
default:
print(i, j)
}
}
}Bästa praxis
Använd ett ensamt break bara för att lämna ett switch-case. Sätt alltid en label på loopen när du vill lämna loopen inifrån en switch.
main: for n in 1...5 {
switch n {
case 4:
break main
default:
print(n)
}
}Snabbtest
Testa break i switch jämfört med loop.
Sammanfattning
I en switch lämnar ett ensamt break bara switch-caset. Swift har inget implicit fall-through; använd fallthrough för det. Om du vill lämna en omslutande loop inifrån en switch sätter du en label på loopen och använder break label. Ett ensamt continue syftar fortfarande på loopen.
loop: for n in 1...4 {
switch n {
case 3: break loop
default: print(n)
}
}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 ”Loopstyrning i switch-kontext” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Loopstyrning i switch-kontext”, 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 ”Loopstyrning i switch-kontext”?
Skilj på break i loopar och i switch-satser. 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 4 av 4.
Hur lång tid tar lektionen ”Loopstyrning i switch-kontext”?
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
- Grunderna i break och continue
- Märkta satser
- Ta er ur nästlade loopar
- Loopstyrning i switch-kontext