Menu
CoddyTech

Podstawowe bezpieczeństwo null

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

Bezpieczeństwo wartości null pomaga zapobiegać nieoczekiwanym awariom aplikacji, kontrolując, które zmienne mogą być puste (null).

Domyślnie zmienne muszą zawierać wartość:

void main() {
  String name = 'Dart';
  print(name);  // Wyświetla: Dart
  
  // To spowodowałoby problemy:
  // name = null;  // Niedozwolone
}

Dodaj ? po typie, aby umożliwić wartości null:

void main() {
  String? name = 'Dart';
  print(name);  // Wypisuje: Dart
  
  // Teraz możemy przypisać null
  name = null;
  print(name);  // Wypisuje: null
}

Możesz deklarować zmienne dopuszczające wartość null dowolnego typu:

void main() {
  int? age;  // Brak wartości początkowej, domyślnie null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // Wyświetla: null
  print(price);       // Wyświetla: 19.99
  print(isAvailable); // Wyświetla: true
  
  // Każdej z tych zmiennych możemy przypisać null
  price = null;
  isAvailable = null;
}

 

Bezpieczeństwo obsługi wartości null pomaga chronić Twoją aplikację przed nieoczekiwanymi awariami, które występują, gdy kod próbuje użyć wartości null w operacjach.

challenge icon

Wyzwanie

Początkujący

Utwórz program w Dart, który demonstruje podstawowe bezpieczeństwo obsługi wartości null za pomocą operatora ?:

  1. Zadeklaruj zmienną typu String o nazwie username i ustaw jej wartość na null za pomocą operatora bezpieczeństwa obsługi wartości null ? (String?)
  2. Zadeklaruj zmienną typu int o nazwie userAge i ustaw jej wartość na null za pomocą operatora bezpieczeństwa obsługi wartości null
  3. Wypisz obie zmienne z etykietami w DOKŁADNIE następującym formacie:
Username: null
User age: null

Następnie:

  1. Przypisz wartość "DartLearner" do zmiennej username
  2. Przypisz wartość 25 do zmiennej userAge
  3. Ponownie wypisz obie zmienne w DOKŁADNIE takim samym formacie jak wcześniej

Wynik musi być zgodny z dokładnie takim formatem, jaki pokazano powyżej.

Spróbuj swoich sił

void main() {
  // Zadeklaruj tutaj zmienne, które mogą mieć wartość null
  String? username = ?;
  int? userAge = ?;
  
  // Wypisz wartości początkowe wraz z etykietami
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // Przypisz zmiennym nowe wartości
  username = ?;
  userAge = ?;
  
  // Wypisz zaktualizowane wartości z tymi samymi etykietami
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
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