Opérateur d'affirmation non nulle
Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 80 sur 94.
L'opérateur d'affirmation de non-nullité (!) indique à Dart qu'une variable nullable n'est définitivement pas null à ce point dans le code. Il force Dart à traiter un type nullable comme non-nullable.
Créez une variable de chaîne nullable :
String? name = 'Dart';
Utilisez l'opérateur d'affirmation de non-nullité pour le traiter comme non-nullable :
String nonNullableName = name!;
print(nonNullableName);
Après l'exécution du code ci-dessus, la sortie sera :
DartAttention ! Si la variable est réellement null, votre programme plantera :
String? language = null;
// String nonNullable = language!; // Cela plantera à l'exécution
Défi
DébutantDans ce défi, vous pratiquerez l'utilisation de l'Opérateur d'assertion de non-nullité (!) en Dart. Cet opérateur indique à Dart qu'une variable nullable n'est définitivement pas null à un point spécifique dans votre code.
Complétez le code ci-dessous pour utiliser l'opérateur d'assertion de non-nullité afin de convertir la variable nullable username en une chaîne non-nullable qui peut être assignée à displayName.
Sortie attendue :
Welcome, DartLearner!Aide-mémoire
L'opérateur d'affirmation de non-nullité (!) indique à Dart qu'une variable nullable n'est définitivement pas null à ce point dans le code. Il force Dart à traiter un type nullable comme non-nullable.
String? name = 'Dart';
String nonNullableName = name!;
print(nonNullableName); // Sortie : Dart
Avertissement : Si la variable est réellement null, votre programme plantera à l'exécution :
String? language = null;
// String nonNullable = language!; // Cela provoquerait un plantage
Essayez vous-même
void main() {
// Cette variable String nullable a déjà une valeur non nulle
String? username = 'DartLearner';
// TODO : Utilisez l'opérateur d'affirmation null (!) pour convertir username
// d'un String nullable à un String non-nullable
// afin qu'il puisse être assigné à displayName
String displayName;
// Ceci affichera le message de bienvenue
print('Welcome, $displayName!');
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs Partie 2
Opérateurs de comparaisonET logiqueOU logiqueNON logiqueOpérateurs de test de typeRécapitulatif - Faire des comparaisons7Travailler avec les chaînes
Concaténation de chaînesInterpolation de chaînesChaînes multi-lignesPropriétés des chaînesMéthodes de base des chaînes10Collections - Bases des Maps
Que sont les Maps ?Créer une MapAccéder aux valeurs par cléPaires clé-valeurObtenir la taille d'une MapObtenir les clésObtenir les valeursVérifier si une clé existe13Sécurité null en profondeur
Comprendre nullTypes nullablesTypes non nullablesOpérateur d'affirmation non nulleInitialisation tardiveRécapitulatif - Gérer null en sécurité2Variables et types de données de base
Qu'est-ce que les variables ?ChaînesEntiers (int)Doubles (double)Booléens (bool)Inférence de type avec 'var'Variables finalesVariables constantesConventions de nommageSécurité null de baseRécapitulatif - Déclaration des variables8Flux de contrôle - Boucles
La boucle 'for'La boucle 'while'La boucle 'do-while'Utiliser 'break' dans les bouclesUtiliser 'continue' dans les bouclesRécapitulatif - Répéter du code3Opérateurs Partie 1
Opérateurs arithmétiquesDivision entièreOpérateur moduloIncrémentation et décrémentationRaccourcis d'affectationRécapitulatif - Calculs simples6Flux de contrôle - Prise de décision
L'instruction 'if'L'instruction 'else'L'instruction 'else if'Récapitulatif - Décisions simplesInstructions 'if' imbriquéesL'instruction 'switch'9Collections - Bases des listes
Qu’est-ce qu’une liste ?Créer une listeAccéder par indexObtenir la longueur d’une listeAjouter des élémentsSupprimer des élémentsVérifier si une liste est videItérer sur une liste12Fonctions avancées
Paramètres positionnels optionnelsParamètres nommésParamètres nommés requisValeurs par défaut des paramètresRécap - Paramètres de fonction15Projet : Calculatrice simple
Mise en placeDéclaration d'un nombre