Typy niedopuszczające null
Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 79 z 94.
Typy nieprzyjmujące wartości null w Dart są domyślne dla wszystkich zmiennych. Gdy deklarujesz zmienną bez symbolu ?, musi ona zawsze mieć wartość i nie może być równa null.
Utwórz zmienną typu String, która nie dopuszcza wartości null:
String name = 'Dart';
print(name);Po wykonaniu powyższego kodu wynikiem będzie:
DartPróba przypisania wartości null do zmiennej, która nie dopuszcza wartości null, powoduje błąd:
// To spowodowałoby błąd:
// String language = null;Zmienne, które nie dopuszczają wartości null, muszą zostać zainicjalizowane wartością:
int score = 100;
bool isActive = true;
double price = 9.99;
print('Score: $score, Active: $isActive, Price: $price');Po wykonaniu powyższego kodu wynikiem będzie:
Score: 100, Active: true, Price: 9.99Wyzwanie
PoczątkującyW tym wyzwaniu poćwiczysz pracę z typami nieprzyjmującymi wartości null w Dart. Domyślnie zmienne w Dart nie mogą mieć wartości null, chyba że jawnie dopuścisz taką możliwość, używając symbolu ?.
Twoim zadaniem jest poprawienie kodu przez przypisanie odpowiednich wartości niezainicjalizowanym zmiennym, które nie przyjmują wartości null.
Oczekiwany wynik:
Name: John
Age: 25
Is active: true
Score: 95.5Spróbuj swoich sił
void main() {
// Te zmienne nie mogą mieć wartości null i wymagają przypisania wartości
// TODO: Zainicjalizuj te zmienne odpowiednimi wartościami
String name;
int age;
bool isActive;
double score;
// Ten kod wyświetli wartości
print('Name: $name');
print('Age: $age');
print('Is active: $isActive');
print('Score: $score');
}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