Sécurité des valeurs nulles de base
Fait partie de la section Fondamentaux du Journey Dart de Coddy. Leçon 14 sur 94.
La sécurité contre les valeurs nulles aide à éviter 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 poserait des problèmes :
// name = null; // Non autorisé
}Ajoute ? après le type pour autoriser les valeurs nulles :
void main() {
String? name = 'Dart';
print(name); // Affiche : Dart
// Nous pouvons maintenant attribuer null
name = null;
print(name); // Affiche : null
}Tu peux déclarer des variables nullables de n’importe quel type :
void main() {
int? age; // Aucune valeur initiale, vaut null par défaut
double? price = 19.99;
bool? isAvailable = true;
print(age); // Affiche : null
print(price); // Affiche : 19.99
print(isAvailable); // Affiche : true
// Nous pouvons attribuer null à n’importe laquelle de ces variables
price = null;
isAvailable = null;
}
La sécurité contre les valeurs nulles aide à protéger votre application contre les plantages inattendus qui se produisent lorsque votre code tente d’utiliser des valeurs nulles dans des opérations.
Défi
DébutantCrée un programme Dart qui illustre la sécurité de base contre les valeurs nulles à l’aide de l’opérateur ? :
- Déclare une variable de type String nommée
usernameet définis-la surnullà l’aide de l’opérateur de sécurité contre les valeurs nulles?(String?) - Déclare une variable de type int nommée
userAgeet définis-la surnullà l’aide de l’opérateur de sécurité contre les valeurs nulles - Affiche les deux variables avec des libellés en respectant EXACTEMENT le format suivant :
Username: null
User age: nullEnsuite :
- Affecte la valeur
"DartLearner"à la variableusername - Affecte la valeur
25à la variableuserAge - Affiche à nouveau les deux variables en respectant EXACTEMENT le même format qu’avant
Ta sortie doit correspondre exactement au format indiqué ci-dessus.
Essayez vous-même
void main() {
// Déclarez ici vos variables pouvant être nulles
String? username = ?;
int? userAge = ?;
// Affichez les valeurs initiales avec leurs libellés
print("Username: " + username.toString());
print("User age: " + userAge.toString());
// Attribuez de nouvelles valeurs aux variables
username = ?;
userAge = ?;
// Affichez les valeurs mises à jour avec les mêmes libellés
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 – Effectuer des comparaisons7Manipuler les chaînes de caractères
Concaténation de chaînesInterpolation de chaînesChaînes multilignesPropriétés des chaînesMéthodes de base des chaînes10Collections - Notions de base 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é existe13La sécurité contre les valeurs nulles en profondeur
Comprendre les valeurs nullesTypes nullableTypes non nullableOpérateur d’assertion de non-nullitéInitialisation différéeRécapitulatif – Gérer les valeurs nulles en toute sécurité2Variables et types de données de base
Que sont les variables ?Chaînes de caractèresEntiers (int)Nombres à virgule flottante (double)Booléens (bool)Inférence de type avec 'var'Variables finalesVariables constantesConventions de nommageSécurité des valeurs nulles de baseRécapitulatif - Déclaration de variables5Opérateurs, partie 3
Opérateur de prise en compte de nullAccès avec prise en compte de nullOpérateur conditionnel8Flux 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
Que sont les listes ?Créer une listeAccéder par indexObtenir la longueur d’une listeAjouter des élémentsSupprimer des élémentsVérifier si une liste est videParcourir une liste12Fonctions avancées
Paramètres positionnels optionnelsParamètres nommésParamètres nommés obligatoiresValeurs par défaut des paramètresRécapitulatif - paramètres de fonction15Projet : calculatrice simple
Mise en placeDéclarer un nombreEntraînez-vous par vous-même : Compilateur Dart en ligne