Sécurité null de base
Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 14 sur 94.
Sécurité des valeurs nulles aide à prévenir les plantages inattendus de l'application en contrôlant quelles variables peuvent être vides (null).
Par défaut, les variables doivent contenir une valeur :
void main() {
String name = 'Dart';
print(name); // Affiche : Dart
// Cela causerait des problèmes :
// name = null; // Non autorisé
}Ajoutez ? après le type pour permettre les valeurs nulles :
void main() {
String? name = 'Dart';
print(name); // Outputs: Dart
// Now we can assign null
name = null;
print(name); // Outputs: null
}Vous pouvez déclarer des variables nullables de n'importe quel type :
void main() {
int? age; // Pas de valeur initiale, par défaut null
double? price = 19.99;
bool? isAvailable = true;
print(age); // Affiche : null
print(price); // Affiche : 19.99
print(isAvailable); // Affiche : true
// Nous pouvons changer n'importe laquelle de ces valeurs en null
price = null;
isAvailable = null;
}
Null safety aide à protéger votre application contre les plantages inattendus qui se produisent lorsque votre code essaie d'utiliser des valeurs nulles dans des opérations.
Défi
DébutantCréez un programme Dart qui démontre la sécurité null de base en utilisant l'opérateur ? :
- Déclarez une variable String nommée
usernameet définissez-la ànullen utilisant l'opérateur de sécurité null?(String?) - Déclarez une variable int nommée
userAgeet définissez-la ànullen utilisant l'opérateur de sécurité null - Imprimez les deux variables avec des étiquettes dans le format EXACT suivant :
Username: null
User age: nullEnsuite :
- Assignez la valeur
"DartLearner"à la variableusername - Assignez la valeur
25à la variableuserAge - Imprimez à nouveau les deux variables avec le même format EXACT qu'avant
Votre sortie doit correspondre exactement au format montré ci-dessus.
Aide-mémoire
Par défaut, les variables Dart ne peuvent pas être null. Ajoutez ? après le type pour permettre les valeurs null :
// Non-nullable (par défaut)
String name = 'Dart';
// Nullable avec ?
String? name = 'Dart';
name = null; // Maintenant autoriséVous pouvez déclarer des variables nullables de n'importe quel type :
int? age; // Par défaut null
double? price = 19.99;
bool? isAvailable = true;
// Toutes peuvent être définies à null
price = null;
isAvailable = null;Essayez vous-même
void main() {
// Déclarez vos variables nullables ici
String? username = ?;
int? userAge = ?;
// Affichez les valeurs initiales avec des étiquettes
print("Username: " + username.toString());
print("User age: " + userAge.toString());
// Assignez de nouvelles valeurs aux variables
username = ?;
userAge = ?;
// Affichez les valeurs mises à jour avec les mêmes étiquettes
print("Username: " + username.toString());
print("User age: " + userAge.toString());
}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é existe2Variables 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