Accesso null-aware
Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 29 di 94.
L’operatore di accesso consapevole dei valori null (?.) accede in modo sicuro alle proprietà di oggetti potenzialmente null, prevenendo errori di runtime.
void main() {
String? name = 'Dart';
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}Con i valori null, restituisce null invece di bloccarsi:
void main() {
String? name = null;
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}Sfida
FacileCrea un programma Dart che dimostri l’operatore di accesso con controllo dei valori null (?.) con un personaggio di un gioco:
- Crea una variabile nullable di tipo String chiamata
playerNamee assegnale null - Crea una variabile nullable di tipo int chiamata
playerScoree assegnale 100 - Usa l’operatore di accesso con controllo dei valori null (
?.) per ottenere la lunghezza di playerName e memorizzarla in una variabile chiamatanameLength - Stampa il seguente messaggio:
Player name length: X(dove X è il valore di nameLength) - Aggiorna
playerNameimpostandolo su "Champion" - Usa di nuovo l’operatore di accesso con controllo dei valori null per ottenere la lunghezza aggiornata e memorizzarla in
nameLength - Stampa il messaggio aggiornato:
Player name length: X(dove X è il nuovo valore) - Stampa il punteggio del giocatore con questo formato:
Player score: 100
Provalo tu
void main() {
// Dichiara qui le tue variabili nullable
String? playerName = _;
int? playerScore = _;
// Ottieni la lunghezza di playerName usando l'operatore ?.
int? nameLength = playerName_.length;
// Stampa la lunghezza iniziale del nome
print("Player name length: ${nameLength}");
// Aggiorna playerName
playerName = _;
// Ottieni la lunghezza aggiornata usando l'operatore ?.
nameLength = playerName_.length;
// Stampa la lunghezza aggiornata del nome
print("Player name length: ${nameLength}");
// Stampa il punteggio del giocatore
print("Player score: ${playerScore}");
}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