Operator uwzględniający null
Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 28 z 94.
Operator uwzględniający wartość null (??) zwraca wyrażenie po lewej stronie, jeśli nie ma ono wartości null, a w przeciwnym razie zwraca wyrażenie po prawej stronie.
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // Brak wartości początkowej, domyślnie null
int displayScore = score ?? 0;
print('Your score: $displayScore');
// W dalszej części programu score otrzymuje wartość
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}Wyzwanie
ŁatwyUtwórz program demonstrujący operator uwzględniający null (??) w Dart:
- Zadeklaruj zmienną typu String, która może przyjmować wartość null, o nazwie
usernamei ustaw ją nanull - Zadeklaruj zmienną typu int, która może przyjmować wartość null, o nazwie
userAgei ustaw ją nanull - Użyj operatora uwzględniającego null, aby przypisać domyślną wartość
"Guest"do nowej zmiennejdisplayName, jeśliusernamema wartość null - Użyj operatora uwzględniającego null, aby przypisać domyślną wartość
18do nowej zmiennejdisplayAge, jeśliuserAgema wartość null - Wyświetl wartości w DOKŁADNIE następującym formacie:
Username: Guest (default value used)
Age: 18 (default value used)Następnie:
- Zaktualizuj
username, ustawiając wartość"DartUser" - Zaktualizuj
userAge, ustawiając wartość25 - Powtórz kroki 3 i 4, używając zaktualizowanych wartości
- Wyświetl wartości w DOKŁADNIE następującym formacie:
Username: DartUser (original value used)
Age: 25 (original value used)Spróbuj swoich sił
void main() {
// Zadeklaruj zmienne dopuszczające wartość null
String? username = _;
int? userAge = _;
// Użyj operatora obsługującego null dla wartości domyślnych
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Wyświetl wartości początkowe
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Zaktualizuj zmienne
username = _;
userAge = _;
// Ponownie użyj operatora obsługującego null
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Wyświetl zaktualizowane wartości
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}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