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
105Wyzwanie
PoczątkującyW 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}!"
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 2
Operatory porównaniaLogiczne ANDLogiczne ORLogiczne NOTOperatory sprawdzania typuPodsumowanie – porównywanie7Praca z ciągami znaków
Łączenie ciągów znakówInterpolacja ciągów znakówCiągi wielolinioweWłaściwości ciągów znakówPodstawowe metody ciągów znaków10Kolekcje — podstawy map
Czym są mapy?Tworzenie mapyDostęp do wartości za pomocą kluczaPary klucz-wartośćPobieranie rozmiaru mapyPobieranie kluczyPobieranie wartościSprawdzanie, czy klucz istnieje13Bezpieczeństwo wartości null w szczegółach
Zrozumienie wartości nullTypy dopuszczające nullTypy niedopuszczające nullOperator wymuszający wartośćInicjalizacja opóźnionaPodsumowanie — bezpieczna obsługa wartości null2Zmienne i podstawowe typy danych
Czym są zmienne?Łańcuchy znakówLiczby całkowite (int)Liczby zmiennoprzecinkowe (double)Wartości logiczne (bool)Wnioskowanie o typie za pomocą „var”Zmienne finalZmienne stałeKonwencje nazewnictwaPodstawowe bezpieczeństwo nullPodsumowanie — deklarowanie zmiennych8Przepływ sterowania — pętle
Pętla „for”Pętla „while”Pętla „do-while”Używanie „break” w pętlachUżywanie „continue” w pętlachPodsumowanie — powtarzanie kodu3Operatory, część 1
Operatory arytmetyczneDzielenie całkowiteOperator moduloInkrementacja i dekrementacjaSkrócone operatory przypisaniaPodsumowanie — proste obliczenia6Sterowanie przepływem — podejmowanie decyzji
Instrukcja „if”Instrukcja „else”Instrukcja „else if”Podsumowanie — proste decyzjeZagnieżdżone instrukcje „if”Instrukcja „switch”9Kolekcje — podstawy list
Czym są listy?Tworzenie listyDostęp według indeksuPobieranie długości listyDodawanie elementówUsuwanie elementówSprawdzanie, czy lista jest pustaIterowanie po liście12Funkcje zaawansowane
Opcjonalne parametry pozycyjneParametry nazwaneWymagane parametry nazwaneDomyślne wartości parametrówPodsumowanie — parametry funkcji15Projekt: Prosty kalkulator
KonfiguracjaDeklarowanie liczbyPoćwicz samodzielnie: Kompilator Dart online