Destrukturering med patterns
Dela upp records, listor och mappar
Destrukturering med patterns är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 3 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.
Vad är destructuring?
Destructuring innebär att hämta ut värden ur en struktur och lägga dem i variabler i ett enda steg. Det är som att packa upp en låda och märka varje sak på en gång. 🎁
Mönster beskriver formen
Ett pattern är en mall som matchar formen hos ett värde. Om värdet passar binder Dart dess delar till namnen du skrev.
Destructura en post
Placera ett record pattern till vänster om =, så fyller Dart varje variabel från motsvarande position. Två värden, två namn, direkt.
var (a, b) = (1, 2);
print(a);Namngivna record-mönster
För namngivna fält matchar du efter namn i mönstret. Fältnamnet till vänster talar om för Dart vilket värde som ska hämtas.
var (x: a, y: b) = (x: 3, y: 7);
print(b);Enkelt att byta plats
Destructuring är särskilt användbart när du vill byta plats på två variabler. Skapa en post, packa upp den och låt värdena byta plats på en enda tydlig rad.
(a, b) = (b, a);
print(a);Destructura en lista
Ett list pattern använder hakparenteser. Varje plats binder ett element, så positionerna motsvarar dina variabler.
var [first, second] = [10, 20];
print(first);Resten av elementen
I ett list pattern fångar ... alla återstående element. Hämta det första elementet och låt resten samla ihop svansen.
var [head, ...rest] = [1, 2, 3, 4];
print(rest);Destructura en map
Ett map pattern läser värden med hjälp av nycklar. Ange de nycklar du är intresserad av och bind varje värde till en variabel.
var {'id': id} = {'id': 42, 'name': 'A'};
print(id);Jokerteckenmönstret
Använd ett understreck som wildcard när en plats inte är intressant. Det matchar vad som helst och binder ingenting.
var (_, important) = ('skip', 99);
print(important);Destructuring i for-in
Du kan destructura direkt inuti en for-in-loop. Packa upp varje post medan du itererar, utan att behöva indexera manuellt.
for (var (k, v) in [(1, 'a')]) {
print(v);
}Renare och plattare kod
Mönster ersätter en mängd .field-uppslag med en enda lättläst rad. Din avsikt blir uppenbar vid första anblicken.
Snabb kontroll
Vad gör understrecket i mönstret var (_, x) = ('a', 1)?
Repetition: Destructuring
Bra gjort! 🙌 Med mönster kan du destructura records, listor och maps till namngivna variabler, med jokertecken och restelement för en ren och flexibel matchning.
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 ”Destrukturering med patterns” gratis?
Ja – hela texten till ”Destrukturering med patterns” 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 ”Destrukturering med patterns”?
Dela upp records, listor och mappar 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 3 av 4.
Hur lång tid tar lektionen ”Destrukturering med patterns”?
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
- Records: lätta tupler
- Positions- och namngivna record-fält
- Destrukturering med patterns
- switch-patterns och guards