Kodokon kodokon.com

Les bases de Dart : variables, fonctions et null safety

Apprenez à ranger des valeurs dans des variables typées, à écrire des fonctions et à comprendre la protection contre null.

10 min · 3 questions

Ouvrir cette leçon dans Kodokon

Avant de construire des écrans, apprenons les bases de Dart, le langage de Flutter. Une variable est une boîte étiquetée dans la mémoire de l'ordinateur, dans laquelle on range une valeur pour la réutiliser plus tard. En Dart, chaque variable a un type : la nature de ce qu'elle peut contenir. Les quatre types les plus courants sont int (un nombre entier, comme 28), double (un nombre à virgule, comme 1.65), String (une chaîne de caractères, c'est-à-dire du texte entre guillemets) et bool (un booléen : soit true, vrai, soit false, faux). Le mot-clé var laisse Dart deviner le type tout seul à partir de la valeur fournie.

DART
void main() {
  var name = "Camille";
  int age = 28;
  double height = 1.65;
  bool isStudent = true;
  print(name);
  print(age);
  print(height);
  print(isStudent);
}
Déclarer quatre variables et les afficher

print affiche une valeur dans la console, la zone de texte où le programme écrit ses messages : très pratique pour vérifier ce qui se passe. Pour insérer une variable au milieu d'un texte, Dart propose l'interpolation : placez le symbole $ devant le nom de la variable, directement dans la chaîne de caractères. Autre mot-clé utile, final déclare une variable qui ne pourra plus jamais changer après avoir reçu sa première valeur : utilisez-le dès qu'une valeur n'est pas destinée à évoluer.

DART
void main() {
  final city = "Lyon";
  var temperature = 21;
  print("À $city, il fait $temperature degrés.");
}
L'interpolation insère des variables dans un texte

Une fonction est un petit bloc de code réutilisable qui porte un nom, reçoit éventuellement des paramètres (des valeurs d'entrée, entre parenthèses) et peut retourner un résultat avec le mot-clé return. On la déclare en écrivant d'abord le type du résultat, puis son nom, puis ses paramètres. Le type void signifie « ne retourne rien » : c'est le cas de main, le point d'entrée du programme.

DART
int add(int a, int b) {
  return a + b;
}

String greet(String name) {
  return "Bonjour, $name !";
}

void main() {
  print(add(2, 3));
  print(greet("Nadia"));
}
Deux fonctions : l'une retourne un nombre, l'autre un texte

Dernière notion clé : la null safety (sécurité face au nul). null est une valeur spéciale qui signifie « rien, aucune valeur ». Les null oubliés sont historiquement l'une des premières causes de plantage des applications. Dart vous protège : par défaut, une variable ne peut pas contenir null. Pour l'autoriser explicitement, ajoutez un point d'interrogation au type : String? se lit « une chaîne de caractères, ou rien ». L'opérateur ?? fournit alors une valeur de secours, utilisée uniquement si la variable vaut null.

DART
void main() {
  String? nickname;
  print(nickname ?? "Pas encore de surnom");
  nickname = "Momo";
  print(nickname);
}
Le ? autorise null, le ?? prévoit une valeur de secours

Quiz de validation

Vérifiez que vous avez bien retenu les points clés de cette leçon.

  1. Quel type Dart convient pour stocker vrai ou faux ?
    • int
    • String
    • bool
    • double
  2. Que signifie la déclaration String? nickname ?
    • La variable nickname peut contenir un texte ou null
    • La variable nickname est obligatoire et doit être remplie
    • Le compilateur doit deviner le type de nickname
  3. Avec int add(int a, int b) { return a + b; }, qu'affiche print(add(2, 3)) ?
    • 2 + 3
    • 5
    • Une erreur de compilation