Menu
Coddy logo textTech

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);  // Wypisuje: Dart
  
  // To spowodowałoby problemy:
  // name = null;  // Niedozwolone
}

Dodaj ? po typie, aby zezwolić na wartości null:

void main() {
  String? name = 'Dart';
  print(name);  // Wyświetla: Dart
  
  // Teraz możemy przypisać null
  name = null;
  print(name);  // Wyświetla: 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
  
  // Możemy zmienić dowolną z tych wartości na null
  price = null;
  isAvailable = null;
}

 

Bezpieczeństwo obsługi wartości null pomaga chronić 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 null za pomocą operatora ?:

  1. Zadeklaruj zmienną typu String o nazwie username i ustaw ją na null za pomocą operatora bezpieczeństwa null ? (String?)
  2. Zadeklaruj zmienną typu int o nazwie userAge i ustaw ją na null za pomocą operatora bezpieczeństwa 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. Wypisz ponownie obie zmienne w DOKŁADNIE takim samym formacie jak poprzednio

Twój wynik musi być zgodny z dokładnym formatem pokazanym 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