Menu
Coddy logo textTech

Null-bilinçli Erişim

Coddy'nin Dart Journey'sinin Temeller bölümünün bir parçası — ders 29 / 94.

Null-farkında erişim operatörü (?.), potansiyel olarak null nesneler üzerinde özelliklere güvenli bir şekilde erişim sağlar ve çalışma zamanı hatalarını önler.

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

Null değerlerle, çökmek yerine null döndürür:

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

Görev

Kolay

Bir oyun karakteri ile null-aware erişim operatörünü (?.) gösteren bir Dart programı oluşturun:

  1. playerName adında nullable bir String değişkeni oluşturun ve null olarak ayarlayın
  2. playerScore adında nullable bir int değişkeni oluşturun ve 100 olarak ayarlayın
  3. Null-aware erişim operatörünü (?.) kullanarak playerName'in uzunluğunu alın ve nameLength adında bir değişkende saklayın
  4. Aşağıdaki mesajı yazdırın: Player name length: X (burada X, nameLength'in değeridir)
  5. playerName'i "Champion" olarak güncelleyin
  6. Null-aware erişim operatörünü tekrar kullanarak güncellenmiş uzunluğu alın ve nameLength'e saklayın
  7. Güncellenmiş mesajı yazdırın: Player name length: X (burada X yeni değerdir)
  8. Oyuncunun skorunu bu formatta yazdırın: Player score: 100

Kopya kağıdı

Null-farkında erişim operatörü (?.), potansiyel olarak null nesneler üzerinde özellikleri güvenli bir şekilde erişir ve çalışma zamanı hatalarını önler.

Nesne null olmadığında, özellik değerini döndürür:

String? name = 'Dart';
int? length = name?.length; // 4 döndürür

Nesne null olduğunda, çökme yerine null döndürür:

String? name = null;
int? length = name?.length; // null döndürür

Kendin dene

void main() {
  // Nullable değişkenlerinizi burada bildirin
  String? playerName = _;
  int? playerScore = _;
  
  // playerName'in uzunluğunu ?. operatörü kullanarak alın
  int? nameLength = playerName_.length;
  
  // İlk isim uzunluğunu yazdırın
  print("Player name length: ${nameLength}");
  
  // playerName'i güncelleyin
  playerName = _;
  
  // Güncellenmiş uzunluğu ?. operatörü kullanarak alın
  nameLength = playerName_.length;
  
  // Güncellenmiş isim uzunluğunu yazdırın
  print("Player name length: ${nameLength}");
  
  // Oyuncunun skorunu yazdırın
  print("Player score: ${playerScore}");
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler