switch-patterns og guards
Match strukturer, og tilføj when-betingelser.
switch-patterns og guards er en gratis Dart Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Dart Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Dart Academy-kurset indeholder 4 lektioner i alt.
switch møder mønstre
Med moderne Dart kan switch matche mønstre, ikke kun konstanter. Hver case kan teste formen på en værdi og pakke den ud på samme tid. 🔀
Match en recordform
En case kan være et recordmønster. Hvis værdien matcher formen, udføres casen, og dens felter bindes til variabler.
switch (point) {
case (0, 0): print('origin');
}Binding under matchning
Mønstre kan indfange værdier, mens de matcher. Navngiv pladserne, så får du felterne klar til brug i case-kroppen.
switch (p) {
case (var x, var y): print(x + y);
}Jokertegnscasen
En case med underscore matcher hvad som helst. Den fungerer som en default og opfanger værdier, som ingen tidligere case håndterede.
switch (n) {
case 1: print('one');
case _: print('other');
}Hvad er en guard?
En guard føjer en betingelse til en case med nøgleordet when. Casen udføres kun, hvis mønstret matcher, og betingelsen er sand.
case (var x, var y) when x == y:
print('diagonal');Guards gør et match mere præcist
Brug en guard, når formen alene ikke er nok. Den lader dig opdele ét mønster i mere præcise resultater baseret på værdierne.
Rækkefølgen afgør resultatet
Cases kontrolleres fra top til bund. Den første matchende case vinder, så placér dine mest specifikke mønstre før de bredere.
switch som et udtryk
Et switch-udtryk returnerer en værdi. Cases bruger pilen, og hele switch-evalueringen giver ét resultat.
var label = switch (n) {
1 => 'one',
_ => 'many',
};Ingen break er nødvendig
Mønster-cases falder ikke igennem til den næste case, så du skal aldrig skrive break. Hver case er selvstændig og overskuelig.
Logisk-eller-mønstre
Sammenkæd mønstre med || for at matche flere former i én case. Håndtér relaterede værdier samlet uden at gentage kodeblokke.
case 1 || 2 || 3:
print('small');Udtømmende og sikkert
For sealed-typer kontrollerer compileren, at din switch er udtømmende. Glemmer du en case, advarer Dart dig, før det når kørselstidspunktet.
Hurtig kontrol
Hvilket nøgleord føjer en ekstra betingelse til et switch-casemønster?
Opsummering: Mønstre og guards
Du gjorde det! 🎯 switch kan matche mønstre, indfange felter, gøre matches mere præcise med when-guards og returnere værdier som et udtryk.
Lær Dart med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “switch-patterns og guards” gratis?
Ja — hele teksten til “switch-patterns og guards” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Dart Academy-kurset, skal du opgradere til CoddyKit PRO. Dart Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “switch-patterns og guards”?
Match strukturer, og tilføj when-betingelser. Du øver dig i Dart Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Dart Academy?
Der kræves ingen tidligere erfaring. Dart Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “switch-patterns og guards”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Dart Academy-lektion?
Ja. Alle Dart Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Records: lette tupler
- Positionelle og navngivne record-felter
- Destructuring med patterns
- switch-patterns og guards