Sound null safety
- Dart kursu
- Uzman
- Ders 2/47
- 5 dk
Sound null safety ve tür sistemi öğrenirsin.
Sound null safety
Sound null safety, Dart 2.12 ile gelen ve null referans hatalarını derleme anında yakalayan bir tür sistemi özelliğidir. Bir tür varsayılan olarak non-nullable'dır: int x null alamaz.
Nullable yapmak için int? yazılır. Bu, 'bir değişken null olabilir mi?' sorusunun türde cevaplanmasını sağlar. null yalnızca nullable türlere atanır; aksi halde derleme hatası verilir.
Nullable ile çalışmak
Nullable bir değeri non-nullable bağlamda kullanmak için denetim gerekir. Üç yaygın yol: ! ile null olmamasını garanti etmek (maybeAge!), ?? ile varsayılan vermek (maybeAge ?? 0) ve if (maybeAge != null) ile denetlemek.
! risklidir: değer null ise çalışma anında hata fırlatır. ?? güvenlidir; null yerine varsayılan döner. Kodu güvenli tutmak için ?? tercih edilir.
Uygulama Nullable yaş hesapla
Bir int? maybeAge değişkeni alıp int döndüren int resolveAge(int? maybeAge) => maybeAge ?? 0; fonksiyonunu tanımla. main içinde print(resolveAge(null)); ve print(resolveAge(25)); çağrılarını ekle.
Başlangıç kodu
void main() {
// resolveAge fonksiyonunu tanımla
// null ve 25 çağrılarını yazdır
}Örnek çözüm
int resolveAge(int? maybeAge) => maybeAge ?? 0;
void main() {
print(resolveAge(null));
print(resolveAge(25));
}Beklenen çıktı
0 25
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Nullable tür bildirimi
int? maybeAge = ____;
print(maybeAge);
int? maybeAge = null;
print(maybeAge);
Açıklama: nullable (int?) bir değişkene null atanabilir.
2 Sound null safety ne sağlar?
- Çöp toplayıcıyı kaldırır
- Daha hızlı çıktı üretir
- Null referans hatalarını derleme anında yakalar Doğru cevap
- Tüm değişkenleri nullable yapar
Açıklama: sound null safety null hatalarını derleme anında yakalar.
3 Null safety operatörlerini eşleştir
| Kavram | Anlamı |
|---|---|
int |
Non-nullable |
int? |
Nullable |
! |
Null değil garanti |
?? |
Varsayılan değer |