Menu
Coddy logo textTech

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');
}
challenge icon

Sfida

Facile

Crea un programma che dimostri l'operatore null-aware (??) in Dart:

  1. Dichiara una variabile String nullable chiamata username e impostala su null
  2. Dichiara una variabile int nullable chiamata userAge e impostala su null
  3. Usa l'operatore null-aware per assegnare il valore predefinito "Guest" a una nuova variabile displayName se username è null
  4. Usa l'operatore null-aware per assegnare il valore predefinito 18 a una nuova variabile displayAge se userAge è null
  5. Stampa i valori esattamente nel seguente formato:
Username: Guest (default value used)
Age: 18 (default value used)

Poi:

  1. Aggiorna username impostandolo su "DartUser"
  2. Aggiorna userAge impostandolo su 25
  3. Ripeti i passaggi 3 e 4 con i valori aggiornati
  4. 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)");
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Dart online