0Pricing
Dart Academy · Leçon

Motifs switch et gardes

Faire correspondre des formes et ajouter des conditions when

Motifs switch et gardes est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

switch rencontre les motifs

Le Dart moderne permet à switch de faire correspondre des motifs, et pas seulement des constantes. Chaque cas peut vérifier la forme d'une valeur et la décomposer en une seule fois. 🔀

Faire correspondre la forme d'un enregistrement

Un cas peut être un motif d'enregistrement. Si la valeur correspond à cette forme, le cas s'exécute et ses champs sont associés à des variables.

switch (point) {
  case (0, 0): print('origin');
}

Associer pendant la correspondance

Les motifs peuvent capturer des valeurs au moment de la correspondance. Nommez les emplacements et vous pourrez utiliser les champs directement dans le corps du cas.

switch (p) {
  case (var x, var y): print(x + y);
}

Le cas générique

Un cas utilisant le trait de soulignement correspond à n'importe quelle valeur. Il fonctionne comme une valeur par défaut et récupère les valeurs qu'aucun cas précédent n'a traitées.

switch (n) {
  case 1: print('one');
  case _: print('other');
}

Qu'est-ce qu'une garde ?

Une garde ajoute une condition à un cas avec le mot-clé when. Le cas ne s'exécute que si le motif correspond et que le test est vrai.

case (var x, var y) when x == y:
  print('diagonal');

Les gardes affinent une correspondance

Utilisez une garde lorsque la forme seule ne suffit pas. Elle vous permet de diviser un motif en résultats plus précis selon les valeurs.

L'ordre détermine le résultat

Les cas sont vérifiés de haut en bas. Le premier cas correspondant l'emporte ; placez donc les motifs les plus précis avant les motifs plus généraux.

switch comme expression

Une expression switch renvoie une valeur. Les cas utilisent la flèche et l'ensemble de switch s'évalue en un seul résultat.

var label = switch (n) {
  1 => 'one',
  _ => 'many',
};

Pas besoin de break

Les cas utilisant des motifs ne se poursuivent pas automatiquement ; vous n'écrivez donc jamais break. Chaque cas est autonome et bien structuré.

Motifs avec OU logique

Reliez des motifs avec || pour faire correspondre plusieurs formes dans un même cas. Traitez ensemble les valeurs liées sans répéter les corps de cas.

case 1 || 2 || 3:
  print('small');

Exhaustif et sûr

Pour les types scellés, le compilateur vérifie que votre switch est exhaustif. Si vous oubliez un cas, Dart vous avertit avant même l'exécution.

Vérification rapide

Quel mot-clé ajoute une condition supplémentaire au motif d'un cas de switch ?

Récapitulatif : motifs et gardes

Vous avez réussi ! 🎯 switch peut faire correspondre des motifs, capturer des champs, affiner les correspondances avec des gardes when et renvoyer des valeurs en tant qu'expression.

Questions Fréquemment Posées

La leçon « Motifs switch et gardes » est-elle gratuite ?

Oui — le texte complet de « Motifs switch et gardes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Motifs switch et gardes » ?

Faire correspondre des formes et ajouter des conditions when Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Motifs switch et gardes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Records : tuples légers
  2. Champs positionnels et nommés des records
  3. Déstructuration avec des motifs
  4. Motifs switch et gardes
← Retour à Dart Academy