Swift Academy · Lektion

Loopstyrning i switch-kontext

Skilj på break i loopar och i switch-satser.

Lektion 4 av 413 steg

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)
    }
}
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 ”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

  1. Grunderna i break och continue
  2. Märkta satser
  3. Ta er ur nästlade loopar
  4. Loopstyrning i switch-kontext
← Tillbaka till Swift Academy