Typy nullable i znak zapytania
Oznaczanie, że wartość może być null
Typy nullable i znak zapytania to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Błąd za miliard dolarów
Błędy związane z null powodują awarie aplikacji na całym świecie. Bezpieczeństwo null w Dart zapobiega większości z nich, zanim program w ogóle zostanie uruchomiony. ✨
Domyślnie nieprzyjmujące null
Domyślnie zmienna w Dart nigdy nie może przechowywać wartości null. To int zawsze musi zawierać prawdziwą liczbę.
int age = 30;Null jest odrzucane
Spróbuj przypisać null do zwykłego typu, a kompilator odmówi. Ten błąd pojawi się już podczas edycji, a nie na produkcji.
int age = null;Dodawanie znaku zapytania
Dodaj ? do typu, aby zezwolić na null. Zmienna może teraz przechowywać wartość albo nie przechowywać nic.
int? age = null;Nullable oznacza możliwość braku wartości
Typ nullable oznacza, że danej wartości może brakować. To zobowiązanie do ostrożnej obsługi pustego przypadku.
String? nickname;Domyślnie null
Niezainicjalizowana zmienna nullable automatycznie zaczyna od wartości null, więc można zadeklarować ją teraz i uzupełnić później.
double? price;
print(price);Nie można używać bezpośrednio
Nie można wywoływać metod na wartości nullable tak, jakby zawsze była obecna. Kompilator wymusza najpierw wykonanie sprawdzenia.
String? name;
print(name.length);Zawężanie po sprawdzeniu
Test if wykluczający null pozwala Dartowi awansować typ, dzięki czemu można bezpiecznie używać go wewnątrz bloku.
if (name != null) {
print(name.length);
}Dotyczy także wartości zwracanych przez funkcje
Typy zwracane również mogą być nullable. Znak ? informuje tutaj, że funkcja może niczego nie zwrócić.
String? findUser(int id) => null;Wybieraj bardziej restrykcyjny typ
Preferuj typy nieprzyjmujące null, gdy wartość rzeczywiście zawsze istnieje. Sięgaj po nullable tylko wtedy, gdy brak wartości ma znaczenie.
Bezpieczniej od samego początku
Poprawne bezpieczeństwo null oznacza, że jeśli typ nie ma ?, można mieć pewność, że nigdzie w kodzie nie przyjmie wartości null.
Szybkie sprawdzenie
Co oznacza znak ? po typie?
Podsumowanie
Poznali Państwo zasadę, że typy w Dart domyślnie nie przyjmują wartości null, a znak ? pozwala typowi potencjalnie przechowywać null. 🎯
Często zadawane pytania
Czy lekcja „Typy nullable i znak zapytania” jest bezpłatna?
Tak — pełny tekst „Typy nullable i znak zapytania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Typy nullable i znak zapytania”?
Oznaczanie, że wartość może być null Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Typy nullable i znak zapytania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?
Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Składnia strzałkowa dla funkcji jednowierszowych
- Funkcje anonimowe i domknięcia
- Typy nullable i znak zapytania
- Operatory uwzględniające null: ?., ?? i !