Menu
Coddy logo textTech

Paramètres positionnels optionnels

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

Paramètres positionnels optionnels en Dart vous permettent de créer des fonctions où certains paramètres sont optionnels. Vous les définissez en plaçant les paramètres à l'intérieur de crochets carrés [].

Créez une fonction avec des paramètres positionnels optionnels :

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 l'exécution du code ci-dessus, la sortie sera :

Hello, Dart!
Welcome, Dart!

Vous pouvez avoir plusieurs paramètres optionnels :

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, la sortie sera :

52
102
105
challenge icon

Défi

Débutant

Dans ce défi, tu vas t’entraîner à utiliser des 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 accepte un paramètre de nom obligatoire et un paramètre de titre facultatif. Si le titre est fourni, la fonction doit renvoyer une salutation avec 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.";
  
  // Appeler la fonction greet avec seulement le nom
  print(greet(person1));
  
  // Appeler la fonction greet avec le nom et le titre
  print(greet(person2, title));
}

// TODO: Compléter la fonction greet avec un paramètre title optionnel
// Le paramètre title devrait être optionnel (utiliser des crochets carrés [])
String greet(String name) {
  // Si title est fourni, retourner "Hello, {title} {name}!"
  // Si title n'est pas fourni, retourner "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