if e for nelle collezioni
Creare liste in modo condizionale e tramite cicli.
if e for nelle collezioni è 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.
Logica nei letterali
A volte il contenuto di una lista dipende da una condizione. Dart consente di inserire un if direttamente nel letterale della collezione, così può costruirla in un unico punto.
Collection if
Un collection if aggiunge un elemento solo quando la condizione è vera. Se nessuna condizione è soddisfatta, quello spazio non contribuisce con nulla.
var nav = ['Home', if (loggedIn) 'Profile'];if con else
Può aggiungere un else per scegliere tra due elementi. Uno dei due viene sempre inserito nella collezione, mai entrambi.
var tags = [if (vip) 'Gold' else 'Standard'];Non servono parentesi graffe
A differenza di un if a livello di istruzione, il collection if non richiede parentesi graffe né punti e virgola. Produce un elemento, non esegue un blocco.
Collection for
Un collection for genera elementi ripetendo un ciclo direttamente nel letterale. A ogni iterazione aggiunge ciò che produce il corpo del ciclo.
var doubled = [for (var n in nums) n * 2];Come map, ma inline
Un collection for spesso sostituisce una chiamata a map quando si è già all'interno di un letterale. Per trasformazioni semplici può risultare più diretto da leggere.
Combinare if e for
Può combinarli: ripetere con for e poi filtrare con if. Insieme costruiscono una lista strutturata in un unico letterale espressivo.
var evens = [for (var n in nums) if (n.isEven) n];Funziona oltre le liste
if e for delle collezioni funzionano anche nei letterali di set e map. La stessa sintassi intuitiva consente di creare tutti e tre i tipi di collezione.
var m = {for (var u in users) u.id: u.name};Si combina con spread
Può combinare questi elementi con l'operatore spread. Inserisca alcuni elementi, espanda un'altra collezione e aggiunga condizioni, tutto nello stesso letterale.
var x = [...base, if (extra) 'plus'];Perché è meglio che costruire dopo
Costruire subito la collezione mantiene il codice dichiarativo. Evita di creare una lista vuota e aggiungervi elementi con istruzioni separate.
Ideale per le liste dell'interfaccia
È particolarmente utile in Flutter, dove una lista di children mostra spesso widget in modo condizionale o a partire dai dati. Il letterale rimane pulito e leggibile. 🧩
Verifica rapida
Che cosa fa un collection if quando la condizione è falsa e non viene fornito alcun else?
Riepilogo
Il collection if aggiunge elementi in modo condizionale e il collection for li genera in un ciclo, direttamente nei letterali di lista, set e map. 🎯
Domande Frequenti
La lezione «if e for nelle collezioni» è gratuita?
Sì — il testo completo di «if e for nelle collezioni» è 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 «if e for nelle collezioni»?
Creare liste in modo condizionale e tramite cicli. 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 «if e for nelle collezioni»?
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
- L'operatore cascade (..)
- Cascade null-shorting (?..)
- Spread e spread null-aware
- if e for nelle collezioni