CodeBlanks Logo Icon CodeBlanks

Özet - Null safety

?, ??, ! ve late'i birleştirerek null-safe bir fonksiyon yazarsın.

Özet - Null safety

Bu grupta Dart 3 null safety'nin temellerini gördün. ? bir türü null alabilir yapar; ?? varsayılan değer verir, ?. güvenli erişim sağlar, ??= null ise atar.

! null assertion yapar; emin olduğun durumda kullanılır. late non-nullable değeri gecikmeli başlatır. if (x != null) ile type promotion en güvenli yoldur.

Son görevde ?, ?? ve !'i bir arada kullanacaksın. Bir nullable değişken tanımlayıp varsayılan ile yazdıracak, sonra değer atayıp ! ile length çağıracaksın.

Uygulama Varsayılan ile yazdır

Bir String? title tanımla (null başlasın). print(title ?? 'Bay') ile yazdır.

Başlangıç kodu

main.dart
void main() {
  // nullable değişken tanımla

  // varsayılan ile yazdır
}

Örnek çözüm

main.dart
void main() {
  String? title;
  print(title ?? 'Bay');
}

Beklenen çıktı

Bay

Uygulama ? ve ! birleşimi

Bir String? name tanımla (null başlsın). print(name ?? 'Misafir') ile yazdır. Sonra name = 'Ayşe' ata ve print(name!.length) ile uzunluğu yazdır.

Başlangıç kodu

main.dart
void main() {
  // nullable değişken tanımla (null)

  // varsayılan ile yazdır, sonra 'Ayşe' ata ve ! ile length yazdır
}

Örnek çözüm

main.dart
void main() {
  String? name;
  print(name ?? 'Misafir');
  name = 'Ayşe';
  print(name!.length);
}

Beklenen çıktı

Misafir
4

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 ?? kullanımı

Soru
void main() {
  String? name;
  print(name ____ 'Misafir');
}
Cevap
void main() {
  String? name;
  print(name ?? 'Misafir');
}

Açıklama: ?? sol null ise sağ tarafı verir.

2 Operatörleri eşleştir

Kavram Anlamı
? Nullable tür
?? Varsayılan değer
!. Assertion ile erişim
late Gecikmiş başlatma

3 Hangisi null assertion yapar?

  • ?.
  • ! Doğru cevap
  • ??
  • ??=

Açıklama: ! null assertion operatörüdür.

Başlangıç bölümündeki tüm dersler