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, vous pratiquerez l'utilisation de paramètres positionnels optionnels dans les fonctions Dart. Les paramètres positionnels optionnels vous permettent de créer des fonctions où certains paramètres sont optionnels.

Complétez la fonction greet ci-dessous qui prend un paramètre name requis et un paramètre title optionnel. Si le titre est fourni, la fonction devrait retourner une salutation avec à la fois le titre et le nom. Si aucun titre n'est fourni, elle devrait simplement utiliser le nom.

Sortie attendue :

Hello, John!
Hello, Dr. Smith!

Aide-mémoire

Les paramètres positionnels optionnels en Dart sont définis en plaçant les paramètres entre crochets carrés [] :

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

Vous pouvez avoir plusieurs paramètres optionnels avec des valeurs par défaut :

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

Appelez les fonctions avec des paramètres optionnels en fournissant uniquement les arguments requis ou en incluant les optionnels :

greet('Dart');           // Uses default behavior
greet('Dart', 'Welcome'); // Uses provided optional parameter

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