Menu
Coddy logo textTech

Temel Null Güvenliği

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

Null safety beklenmedik uygulama çökmelerini önlemeye yardımcı olur, hangi değişkenlerin boş (null) olabileceğini kontrol ederek.

Varsayılan olarak, değişkenler bir değer içermelidir:

void main() {
  String name = 'Dart';
  print(name);  // Çıktı: Dart
  
  // Bu sorunlara neden olur:
  // name = null;  // İzin verilmez
}

Türün sonuna ? ekleyerek null değerlere izin verin:

void main() {
  String? name = 'Dart';
  print(name);  // Outputs: Dart
  
  // Now we can assign null
  name = null;
  print(name);  // Outputs: null
}

Herhangi bir tür için nullable değişkenler tanımlayabilirsiniz:

void main() {
  int? age;  // Başlangıç değeri yok, varsayılan olarak null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // Çıktı: null
  print(price);       // Çıktı: 19.99
  print(isAvailable); // Çıktı: true
  
  // Bunlardan herhangi birini null'a değiştirebiliriz
  price = null;
  isAvailable = null;
}

 

Null güvenliği, kodunuz null değerleri işlemlerde kullanmaya çalıştığında oluşan beklenmedik çökmelere karşı uygulamanızı korumaya yardımcı olur.

challenge icon

Görev

Başlangıç

Temel null güvenliğini ? operatörü kullanarak gösteren bir Dart programı oluşturun:

  1. username adında bir String değişkeni bildirin ve null güvenliği operatörü ? kullanarak null'a ayarlayın (String?)
  2. userAge adında bir int değişkeni bildirin ve null güvenliği operatörü kullanarak null'a ayarlayın
  3. Her iki değişkeni de etiketlerle birlikte TAM OLARAK aşağıdaki formatta yazdırın:
Username: null
User age: null

Sonra:

  1. username değişkenine "DartLearner" değerini atayın
  2. userAge değişkenine 25 değerini atayın
  3. Her iki değişkeni de daha önce olduğu gibi TAM OLARAK aynı formatta tekrar yazdırın

Çıktınız yukarıda gösterilen tam formatla eşleşmelidir.

Kopya kağıdı

Varsayılan olarak, Dart değişkenleri null olamaz. Null değerlere izin vermek için türden sonra ? ekleyin:

// Non-nullable (default)
String name = 'Dart';

// Nullable with ?
String? name = 'Dart';
name = null;  // Now allowed

Herhangi bir tür için nullable değişkenler bildirebilirsiniz:

int? age;           // Defaults to null
double? price = 19.99;
bool? isAvailable = true;

// All can be set to null
price = null;
isAvailable = null;

Kendin dene

void main() {
  // Nullable değişkenlerinizi burada bildirin
  String? username = ?;
  int? userAge = ?;
  
  // Etiketlerle başlangıç değerlerini yazdırın
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // Değişkenlere yeni değerler atayın
  username = ?;
  userAge = ?;
  
  // Aynı etiketlerle güncellenmiş değerleri yazdırın
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
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