Menu
CoddyTech

Paramètres positionnels optionnels

Fait partie de la section Fondamentaux du Journey Dart de Coddy. Leçon 72 sur 94.

Les paramètres positionnels facultatifs en Dart te permettent de créer des fonctions dont certains paramètres sont facultatifs. Tu les définis en plaçant les paramètres entre crochets [].

Crée une fonction avec des paramètres positionnels facultatifs :

void greet(String name, [String? greeting]) {
  if (greeting != null) {
    print('$greeting, $name!');
  } else {
    print('Hello, $name!');
  }
}

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

Après avoir exécuté le code ci-dessus, le résultat sera :

Hello, Dart!
Welcome, Dart!

Tu peux avoir plusieurs paramètres facultatifs :

int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
  return quantity * price + tax;
}

void main() {
  print(calculateTotal(5));
  print(calculateTotal(5, 20));
  print(calculateTotal(5, 20, 5));
}

Après l’exécution du code ci-dessus, le résultat sera :

52
102
105
challenge icon

Défi

Débutant

Dans ce défi, tu vas t’entraîner à utiliser les paramètres positionnels facultatifs dans les fonctions Dart. Les paramètres positionnels facultatifs te permettent de créer des fonctions dont certains paramètres sont facultatifs.

Complète la fonction greet ci-dessous, qui prend un paramètre obligatoire pour le nom et un paramètre facultatif pour le titre. Si le titre est fourni, la fonction doit renvoyer une salutation contenant à la fois le titre et le nom. Si aucun titre n’est fourni, elle doit utiliser uniquement le nom.

Résultat attendu :

Hello, John!
Hello, Dr. Smith!

Essayez vous-même

void main() {
  // Ces variables sont déjà définies pour vous
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // Appelez la fonction greet avec seulement le nom
  print(greet(person1));
  
  // Appelez la fonction greet avec le nom et le titre
  print(greet(person2, title));
}

// TODO: Complétez la fonction greet avec un paramètre title facultatif
// Le paramètre title doit être facultatif (utilisez des crochets [])
String greet(String name) {
  // Si title est fourni, renvoyez "Hello, {title} {name}!"
  // Si title n’est pas fourni, renvoyez "Hello, {name}!"
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur Dart en ligne