Dart Academy · Lezione

Spread e spread null-aware

Inserire una collezione dentro un'altra.

Lezione 3 di 413 passaggi

Spread e spread null-aware è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 3 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.

Combinare le collezioni

Spesso si desidera inserire tutti gli elementi di una lista in un'altra. L'operatore spread di Dart inserisce un'intera collezione in un solo passaggio.

Ecco i tre punti

L'operatore spread è formato da tre punti posti prima di una collezione all'interno di un letterale di lista, set o map. I suoi elementi vengono inseriti direttamente.

var more = [4, 5];
var all = [1, 2, 3, ...more];

Che cosa produce lo spread

Spread copia gli elementi della sorgente nella nuova collezione. Il risultato è una lista nuova; la collezione originale rimane invariata.

Spread in qualsiasi posizione

Può inserire uno spread all'inizio, al centro o alla fine e combinare più spread con elementi normali nello stesso letterale.

var x = [0, ...a, 9, ...b];

Il problema di null

Se la collezione inserita con spread è null, uno spread normale genera un errore. È rischioso quando la sorgente potrebbe non esistere ancora.

Spread consapevole di null

Aggiunga un punto interrogativo per ottenere lo null-aware spread, scritto con un punto interrogativo seguito da tre punti. Una sorgente null non contribuisce semplicemente con alcun elemento.

var all = [1, 2, ...?maybeNull];

Ignora, non genera errori

Con lo spread consapevole di null, una collezione null viene semplicemente ignorata. Si ottengono gli altri elementi e nessun errore a runtime.

Spread funziona sui set

Spread non è limitato alle liste. Anche all'interno di un letterale set inserisce gli elementi, eliminando i duplicati per mantenere l'unicità del set.

var s = {1, 2, ...other};

Spread funziona sulle map

Può inserire una map in un'altra per unire le voci. Le chiavi successive hanno la precedenza, quindi uno spread può sostituire ordinatamente i valori precedenti.

var m = {'a': 1, ...defaults};

Spread e addAll

Spread crea una nuova collezione all'interno di un letterale, mentre addAll modifica una collezione esistente. Scelga spread quando desidera un risultato nuovo.

Perché è più leggibile

Spread rende evidente l'intento: mostra esattamente quali elementi compongono la nuova collezione, tutto in un unico letterale ordinato. 📦

Verifica rapida

Che cosa accade con uno spread consapevole di null su una collezione null?

Riepilogo

Lo spread (...) inserisce una collezione in un letterale, mentre lo spread consapevole di null (...?) ignora in sicurezza una sorgente null. Funziona con liste, set e map. 🎯

Gratis per iniziare

Impara Dart con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Spread e spread null-aware» è gratuita?

Sì — il testo completo di «Spread e spread null-aware» è 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 «Spread e spread null-aware»?

Inserire una collezione dentro un'altra. 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 3 di 4.

Quanto tempo richiede la lezione «Spread e spread null-aware»?

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. L'operatore cascade (..)
  2. Cascade null-shorting (?..)
  3. Spread e spread null-aware
  4. if e for nelle collezioni
← Torna a Dart Academy