Operatore di asserzione null
Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 80 di 94.
L'operatore di asserzione non null (!) indica a Dart che una variabile nullable sicuramente non è null in quel punto del codice. Forza Dart a trattare un tipo nullable come non nullable.
Crea una variabile stringa nullable:
String? name = 'Dart';
Usa l’operatore di asserzione di non-nullità per trattarlo come non nullable:
String nonNullableName = name!;
print(nonNullableName);
Dopo aver eseguito il codice qui sopra, l'output sarà:
DartFai attenzione! Se la variabile è effettivamente null, il programma andrà in crash:
String? language = null;
// String nonNullable = language!; // Questo causerebbe un arresto anomalo durante l'esecuzione
Sfida
PrincipianteIn questa sfida, farai pratica con l’uso dell’operatore di asserzione non-null (!) in Dart. Questo operatore indica a Dart che una variabile nullable non è sicuramente null in un punto specifico del codice.
Completa il codice qui sotto per usare l’operatore di asserzione non-null e convertire la variabile nullable username in una stringa non-nullable che possa essere assegnata a displayName.
Output previsto:
Welcome, DartLearner!Provalo tu
void main() {
// Questa variabile String nullable ha già un valore non null
String? username = 'DartLearner';
// TODO: Usa l'operatore di asserzione non null (!) per convertire username
// da String nullable a String non nullable
// in modo che possa essere assegnato a displayName
String displayName;
// Questo mostrerà il messaggio di benvenuto
print('Welcome, $displayName!');
}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