Builders Academy
Dart — Le langage de Flutter
1 of 3

Chapitre 1 · Leçon 1

Types & Null Safety

Le système de types solide de Dart

Section 1

Variables et types

Step 1

Déclaration de variables

Dart est un langage à typage statique avec inférence de type. var infère le type, final crée une variable non-reassignable, const crée une constante à la compilation.

snippet.dart

dart
1void main() {
2  // var — type inféré à la compilation
3  var name = 'Usher';         // String
4  var score = 95;              // int
5  var price = 29.99;           // double
6
7  // Annotation explicite
8  String country = 'Sénégal';
9  int year = 2024;
10  List<String> skills = ['Flutter', 'Dart', 'Firebase'];
11
12  // final — assigné une seule fois (runtime)
13  final createdAt = DateTime.now();
14
15  // const — valeur connue à la compilation
16  const appName = 'Usher Platform';
17  const maxRetries = 3;
18
19  print('$name from $country'); // interpolation avec $
20  print('Skills: ${skills.join(', ')}');
21}

Step 2

Null Safety — ? et !

Dart a un système de null safety solide. Par défaut, aucune variable ne peut être null. Le type String? signifie que la valeur peut être null ou une String.

snippet.dart

dart
1void main() {
2  // var — type inféré à la compilation
3  var name = 'Usher';         // String
4  var score = 95;              // int
5  var price = 29.99;           // double
6
7  // Annotation explicite
8  String country = 'Sénégal';
9  int year = 2024;
10  List<String> skills = ['Flutter', 'Dart', 'Firebase'];
11
12  // final — assigné une seule fois (runtime)
13  final createdAt = DateTime.now();
14
15  // const — valeur connue à la compilation
16  const appName = 'Usher Platform';
17  const maxRetries = 3;
18
19  print('$name from $country'); // interpolation avec $
20  print('Skills: ${skills.join(', ')}');
21}

Section 2

Collections et itération

Step 3

List, Map et Set

Les trois collections principales de Dart. Comme en TypeScript, elles sont génériques et null-safe.

snippet.dart

dart
1void main() {
2  // var — type inféré à la compilation
3  var name = 'Usher';         // String
4  var score = 95;              // int
5  var price = 29.99;           // double
6
7  // Annotation explicite
8  String country = 'Sénégal';
9  int year = 2024;
10  List<String> skills = ['Flutter', 'Dart', 'Firebase'];
11
12  // final — assigné une seule fois (runtime)
13  final createdAt = DateTime.now();
14
15  // const — valeur connue à la compilation
16  const appName = 'Usher Platform';
17  const maxRetries = 3;
18
19  print('$name from $country'); // interpolation avec $
20  print('Skills: ${skills.join(', ')}');
21}

Topics and skills covered

  • Dart
  • Null Safety
  • Types
  • Variables