Sammensatte tilfeller og fallthrough
Kombiner tilfeller og bruk fallthrough med hensikt.
Sammensatte tilfeller og fallthrough er en gratis leksjon i Swift Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Swift Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Swift Academy inneholder totalt 4 leksjoner.
Sammensatte case-alternativer
Én case-setning kan samsvare med flere verdier ved å skille dem med kommaer: case "a", "b":. Alle de angitte verdiene kjører den samme koden.
let letter = "a"
switch letter {
case "a", "e", "i", "o", "u":
print("Vowel")
default:
print("Consonant")
}Hvorfor bruke sammensatte case-alternativer
Sammensatte case-alternativer unngår at dupliserte kodeblokker. De grupperer verdier som skal oppføre seg likt.
let day = 6
switch day {
case 6, 7:
print("Weekend")
case 1, 2, 3, 4, 5:
print("Weekday")
default:
print("Invalid day")
}Sammensatte case-alternativer med intervaller
Du kan blande intervaller og individuelle verdier i ett sammensatt case-alternativ.
let code = 204
switch code {
case 200, 201, 204:
print("Success")
case 400...499:
print("Client error")
default:
print("Other")
}Sammensatte case-alternativer og binding
Når du bruker binding i et sammensatt case-alternativ, må hvert alternativ binde de samme navnene med de samme typene.
let point = (0, 5)
switch point {
case (let v, 0), (0, let v):
print("On an axis at distance \(v)")
default:
print("Off the axes")
}Introduksjon til fallthrough
Swift-caser faller ikke gjennom til neste case som standard. Nøkkelordet fallthrough tvinger kjøringen til å fortsette i neste case.
let n = 1
switch n {
case 1:
print("one")
fallthrough
case 2:
print("two")
default:
print("done")
}Slik fungerer fallthrough
fallthrough går ubetinget videre til kroppen i neste case; det sjekker ikke betingelsen for dette caset på nytt. Bruk det bevisst.
let level = 3
switch level {
case 3:
print("Level 3 perks")
fallthrough
case 2:
print("Level 2 perks")
fallthrough
case 1:
print("Level 1 perks")
default:
break
}fallthrough ignorerer mønstre
Fordi fallthrough hopper over neste mønstersjekk, kan ikke det neste caset være avhengig av å binde en verdi, ellers kompilerer ikke koden.
let x = 10
switch x {
case 10:
print("ten")
fallthrough
default:
print("reached default")
}Sammensatte case-alternativer kontra fallthrough
Hvis flere verdier skal kjøre den samme koden, bør du foretrekke et sammensatt case-alternativ. Reserver fallthrough for genuint kaskaderende oppførsel.
let grade = "B"
switch grade {
case "A", "B":
print("Passing")
default:
print("Other")
}Akkumulering med fallthrough
Fallthrough er nyttig for kumulative effekter, for eksempel når du skal liste opp alle fordelene fra et nivå og nedover.
let tier = 2
var perks = [String]()
switch tier {
case 2:
perks.append("Premium")
fallthrough
case 1:
perks.append("Basic")
default:
break
}
print(perks)Kombinere begge
Du kan bruke sammensatte case-alternativer og fallthrough i den samme switch-en, der hver av dem passer best.
let n = 0
switch n {
case 0:
print("zero")
fallthrough
case 1, 2:
print("small")
default:
print("large")
}Merknad om lesbarhet
Fallthrough kan overraske lesere, siden de fleste språk har dette som standard. Kommenter hensikten din, eller foretrekk sammensatte case-alternativer når det er mulig.
let status = "warn"
switch status {
case "warn", "error":
print("Needs attention")
default:
print("OK")
}Hurtigsjekk
Test sammensatte case-alternativer og fallthrough.
Oppsummering: Sammensatte case-alternativer og fallthrough
Bruk kommaseparerte sammensatte case-alternativer for å dele én kropp mellom flere verdier. Bruk det eksplisitte nøkkelordet fallthrough bare når De med hensikt vil at kjøringen skal fortsette inn i neste case.
let n = 2
switch n {
case 1, 2: print("small")
default: print("big")
}Lær deg Swift med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 122
- Leksjoner
- 409
Ofte stilte spørsmål
Er leksjonen «Sammensatte tilfeller og fallthrough» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Swift Academy, inkludert «Sammensatte tilfeller og fallthrough», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Swift Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sammensatte tilfeller og fallthrough»?
Kombiner tilfeller og bruk fallthrough med hensikt. Du øver på Swift Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Swift Academy?
Ingen tidligere erfaring er nødvendig. Swift Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Sammensatte tilfeller og fallthrough»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Swift Academy-leksjonen?
Ja. Alle Swift Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Uttømmende switch over verdier
- Matche områder og tupler
- Verdibinding og where-klausuler
- Sammensatte tilfeller og fallthrough