Använd switch heltäckande över enum-typer
Hantera varje fall som kompilatorn kontrollerar
Använd switch heltäckande över enum-typer är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
switch gillar enum-värden
När ett värde är ett av några få val hanterar switch varje fall på ett tydligt sätt. Enum-värden och switch passar naturligt ihop.
En enkel switch
Lista ett case för varje enum-medlem och ange koden som ska köras för det. Dart matchar värdet mot rätt case och kör den grenen.
switch (status) {
case Status.pending: print("Waiting");
}Fullständighet innebär varje fall
För en enum kontrollerar Dart att du hanterar alla medlemmar. Missar du en varnar analysverktyget innan du kör programmet.
Varför fullständighet hjälper
Det här säkerhetsnätet är ovärderligt: lägg till en ny enum-medlem senare, så pekar kompilatorn ut varje switch som du måste uppdatera.
Uttrycket switch
Ett switch-uttryck returnerar ett värde i stället för att köra satser. Använd piloperatorn för att koppla varje case till ett resultat.
var label = switch (status) {
Status.pending => "Waiting",
};Pilsyntax för case är kortfattad
I ett switch-uttryck använder varje case formen case-value => result. Kommatecken skiljer dem åt och skapar en kompakt uppslagstabell.
Status.shipped => "On the way",Ingen fall-through i Dart
Till skillnad från vissa andra språk utför Dart inte någon fall-through mellan case. Varje case kör bara sin egen kod, så inget överflödigt break behövs.
Det generella default-fallet
Ett default-fall eller _ fångar allt du inte har listat. För enum-värden bör du dock hantera varje medlem för maximal säkerhet.
default => "Unknown",default stänger av kontrollen
Om du lägger till ett generellt default-fall blir switch-satsen komplett, så Dart slutar varna för saknade medlemmar. Använd det sparsamt.
Dela samma kodblock
Låt två medlemmar dela en gren genom att lista dem tillsammans. Båda kör samma kod utan att du behöver upprepa den.
case Status.shipped || Status.delivered: print("Sent");Fullständiga switch-satser är en vana
Att hoppa över default för enum-värden är en funktion, inte en börda. Det förvandlar kompilatorn till en checklista för framtida ändringar.
Snabb kontroll
Vad får du genom att använda en fullständig switch-sats för en enum?
Sammanfattning: fullständig switch
Du har sett hur switch hanterar varje enum-fall, returnerar värden som ett uttryck och varnar när en medlem saknar hantering. Hoppa över default för ökad säkerhet. 🎯
Lär dig Dart 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
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Använd switch heltäckande över enum-typer” gratis?
Ja – hela texten till ”Använd switch heltäckande över enum-typer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Använd switch heltäckande över enum-typer”?
Hantera varje fall som kompilatorn kontrollerar Ni övar på Dart 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 Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart 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 ”Använd switch heltäckande över enum-typer”?
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 Dart Academy-lektionen?
Ja. Varje Dart 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
- Deklarera och använda vanliga enum-typer
- Enum-värden, index och name
- Utökade enum-typer med fält och metoder
- Använd switch heltäckande över enum-typer