Operatore null-aware
Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 28 di 94.
L'operatore consapevole di null (??) restituisce l'espressione a sinistra se non è null, altrimenti restituisce l'espressione a destra.
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // Nessun valore iniziale; il valore predefinito è null
int displayScore = score ?? 0;
print('Your score: $displayScore');
// Più avanti nel programma, score riceve un valore
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}Sfida
FacileCrea un programma che dimostri l'operatore null-aware (??) in Dart:
- Dichiara una variabile String nullable chiamata
usernamee impostala sunull - Dichiara una variabile int nullable chiamata
userAgee impostala sunull - Usa l'operatore null-aware per assegnare il valore predefinito
"Guest"a una nuova variabiledisplayNameseusernameè null - Usa l'operatore null-aware per assegnare il valore predefinito
18a una nuova variabiledisplayAgeseuserAgeè null - Stampa i valori esattamente nel seguente formato:
Username: Guest (default value used)
Age: 18 (default value used)Poi:
- Aggiorna
usernameimpostandolo su"DartUser" - Aggiorna
userAgeimpostandolo su25 - Ripeti i passaggi 3 e 4 con i valori aggiornati
- Stampa i valori esattamente nel seguente formato:
Username: DartUser (original value used)
Age: 25 (original value used)Provalo tu
void main() {
// Dichiara variabili nullable
String? username = _;
int? userAge = _;
// Usa l'operatore che gestisce i valori null per i valori predefiniti
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Stampa i valori iniziali
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Aggiorna le variabili
username = _;
userAge = _;
// Usa di nuovo l'operatore che gestisce i valori null
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Stampa i valori aggiornati
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 2
Operatori di confrontoAND logicoOR logicoNOT logicoOperatori di verifica del tipoRiepilogo - Effettuare confronti7Lavorare con le stringhe
Concatenazione di stringheInterpolazione di stringheStringhe multilineaProprietà delle stringheMetodi di base delle stringhe10Collezioni - Nozioni di base sulle mappe
Che cosa sono le mappe?Creare una mappaAccedere ai valori tramite chiaveCoppie chiave-valoreOttenere la dimensione della mappaOttenere le chiaviOttenere i valoriVerificare se una chiave esiste13Sicurezza sui valori null in dettaglio
Capire i valori nullTipi nullableTipi non nullableOperatore di asserzione nullInizializzazione tardivaRiepilogo - Gestire i valori null in sicurezza2Variabili e tipi di dati di base
Che cosa sono le variabili?StringheNumeri interi (int)Numeri double (double)Valori booleani (bool)Inferenza del tipo con 'var'Variabili finaliVariabili costantiConvenzioni di denominazioneNull safety di baseRiepilogo - Dichiarazione delle variabili8Flusso di controllo - Cicli
Il ciclo 'for'Il ciclo 'while'Il ciclo 'do-while'Uso di 'break' nei cicliUso di 'continue' nei cicliRipasso - Ripetere il codice3Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloIncremento e decrementoAbbreviazioni di assegnazioneRiepilogo - Calcoli semplici6Flusso di controllo - prendere decisioni
L'istruzione 'if'L'istruzione 'else'L'istruzione 'else if'Ripasso - decisioni sempliciIstruzioni 'if' annidateL'istruzione 'switch'9Collezioni - Fondamenti delle liste
Cosa sono le liste?Creare una listaAccedere tramite indiceOttenere la lunghezza di una listaAggiungere elementiRimuovere elementiVerificare se una lista è vuotaScorrere una lista12Funzioni avanzate
Parametri posizionali opzionaliParametri con nomeParametri con nome obbligatoriValori predefiniti dei parametriRiepilogo - Parametri delle funzioni15Progetto: Calcolatrice semplice
ConfigurazioneDichiarare un numeroEsercitati da solo: Compilatore Dart online