Menu
Coddy logo textTech

Dostęp uwzględniający null

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

Operator dostępu uwzględniający wartość null (?.) umożliwia bezpieczny dostęp do właściwości obiektów, które mogą mieć wartość null, zapobiegając błędom w czasie wykonywania.

void main() {
  String? name = 'Dart';
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}

W przypadku wartości null zwraca null zamiast powodować awarię:

void main() {
  String? name = null;
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}
challenge icon

Wyzwanie

Łatwy

Utwórz program w Dart, który demonstruje operator dostępu uwzględniający null (?.) na przykładzie postaci z gry:

  1. Utwórz zmienną typu String dopuszczającą null o nazwie playerName i przypisz jej wartość null
  2. Utwórz zmienną typu int dopuszczającą null o nazwie playerScore i przypisz jej wartość 100
  3. Użyj operatora dostępu uwzględniającego null (?.), aby uzyskać długość wartości playerName i zapisać ją w zmiennej o nazwie nameLength
  4. Wypisz następujący komunikat: Player name length: X (gdzie X to wartość nameLength)
  5. Zmień wartość playerName na "Champion"
  6. Ponownie użyj operatora dostępu uwzględniającego null, aby uzyskać zaktualizowaną długość i zapisać ją w nameLength
  7. Wypisz zaktualizowany komunikat: Player name length: X (gdzie X to nowa wartość)
  8. Wypisz wynik gracza w tym formacie: Player score: 100

Spróbuj swoich sił

void main() {
  // Zadeklaruj tutaj zmienne, które mogą mieć wartość null
  String? playerName = _;
  int? playerScore = _;
  
  // Pobierz długość playerName za pomocą operatora ?.
  int? nameLength = playerName_.length;
  
  // Wyświetl początkową długość imienia
  print("Player name length: ${nameLength}");
  
  // Zaktualizuj playerName
  playerName = _;
  
  // Pobierz zaktualizowaną długość za pomocą operatora ?.
  nameLength = playerName_.length;
  
  // Wyświetl zaktualizowaną długość imienia
  print("Player name length: ${nameLength}");
  
  // Wyświetl wynik gracza
  print("Player score: ${playerScore}");
}
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