Menu
Coddy logo textTech

Opcjonalne parametry pozycyjne

Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 72 z 94.

Opcjonalne parametry pozycyjne w Dart pozwalają tworzyć funkcje, w których niektóre parametry są opcjonalne. Definiujesz je, umieszczając parametry w nawiasach kwadratowych [].

Utwórz funkcję z opcjonalnymi parametrami pozycyjnymi:

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

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

Po wykonaniu powyższego kodu wynikiem będzie:

Hello, Dart!
Welcome, Dart!

Możesz mieć wiele parametrów opcjonalnych:

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));
}

Po wykonaniu powyższego kodu wynikiem będzie:

52
102
105
challenge icon

Wyzwanie

Początkujący

W tym wyzwaniu poćwiczysz używanie opcjonalnych parametrów pozycyjnych w funkcjach Dart. Opcjonalne parametry pozycyjne pozwalają tworzyć funkcje, w których niektóre parametry są opcjonalne.

Uzupełnij poniższą funkcję greet, która przyjmuje wymagany parametr name i opcjonalny parametr title. Jeśli parametr title zostanie podany, funkcja powinna zwrócić powitanie zawierające zarówno title, jak i name. Jeśli parametr title nie zostanie podany, funkcja powinna użyć tylko name.

Oczekiwany wynik:

Hello, John!
Hello, Dr. Smith!

Spróbuj swoich sił

void main() {
  // Te zmienne zostały już dla ciebie zdefiniowane
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // Wywołaj funkcję greet, podając tylko imię
  print(greet(person1));
  
  // Wywołaj funkcję greet, podając zarówno imię, jak i tytuł
  print(greet(person2, title));
}

// TODO: Uzupełnij funkcję greet o opcjonalny parametr title
// Parametr title powinien być opcjonalny (użyj nawiasów kwadratowych [])
String greet(String name) {
  // Jeśli podano title, zwróć "Hello, {title} {name}!"
  // Jeśli nie podano title, zwróć "Hello, {name}!"
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Dart online