0Pricing
Dart Academy · Lezione

Pattern e guardie di switch

Corrispondere alle forme e aggiungere condizioni when.

Pattern e guardie di switch è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.

switch incontra i pattern

Il Dart moderno consente a switch di confrontare pattern, non solo costanti. Ogni case può verificare la forma di un valore e destrutturarlo in una volta sola. 🔀

Confrontare la forma di un record

Un case può essere un pattern di record. Se il valore corrisponde a quella forma, il case viene eseguito e i suoi campi vengono associati alle variabili.

switch (point) {
  case (0, 0): print('origin');
}

Associare valori durante il confronto

I pattern possono catturare i valori durante il confronto. Assegni un nome alle posizioni e ottiene i campi pronti da usare nel corpo del case.

switch (p) {
  case (var x, var y): print(x + y);
}

Il case wildcard

Un case con underscore corrisponde a qualsiasi valore. Funziona come default e intercetta i valori che nessun case precedente ha gestito.

switch (n) {
  case 1: print('one');
  case _: print('other');
}

Che cos'è una guardia?

Una guardia aggiunge una condizione a un case con la parola chiave when. Il case viene eseguito solo se il pattern corrisponde e il test restituisce true.

case (var x, var y) when x == y:
  print('diagonal');

Le guardie affinano una corrispondenza

Utilizzi una guardia quando la sola forma non è sufficiente. Permette di suddividere un pattern in risultati più specifici in base ai valori.

L'ordine decide il vincitore

I case vengono verificati dall'alto verso il basso. Vince il primo case corrispondente, quindi inserisca i pattern più specifici prima di quelli più generici.

switch come espressione

Una switch expression restituisce un valore. I case usano la freccia e l'intero switch restituisce un unico risultato.

var label = switch (n) {
  1 => 'one',
  _ => 'many',
};

Non serve break

I case con pattern non eseguono il fall-through, quindi non deve mai scrivere break. Ogni case è autonomo e ordinato.

Pattern con OR logico

Unisca i pattern con || per confrontare diverse forme in un unico case. Gestisca insieme valori correlati senza ripetere i corpi dei case.

case 1 || 2 || 3:
  print('small');

Esaustivo e sicuro

Per i tipi sealed, il compilatore verifica che lo switch sia esaustivo. Se dimentica un case, Dart la avvisa prima ancora dell'esecuzione.

Verifica rapida

Quale parola chiave aggiunge una condizione ulteriore al pattern di un case di switch?

Riepilogo: pattern e guardie

Ce l'ha fatta! 🎯 switch può confrontare pattern, catturare campi, affinare le corrispondenze con le guardie when e restituire valori come espressione.

Domande Frequenti

La lezione «Pattern e guardie di switch» è gratuita?

Sì — il testo completo di «Pattern e guardie di switch» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.

Cosa imparerò in «Pattern e guardie di switch»?

Corrispondere alle forme e aggiungere condizioni when. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Dart Academy?

Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Pattern e guardie di switch»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Dart Academy?

Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Records: tuple leggere
  2. Campi posizionali e denominati dei record
  3. Destructuring con i pattern
  4. Pattern e guardie di switch
← Torna a Dart Academy