Dart Academy · Lektion

switch-patterns og guards

Match strukturer, og tilføj when-betingelser.

Lektion 4 af 413 trin

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.

Gratis at komme i gang

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

  1. Records: lette tupler
  2. Positionelle og navngivne record-felter
  3. Destructuring med patterns
  4. switch-patterns og guards
← Tilbage til Dart Academy