Sobes.tech
Junior

Dart dilində tip sistemləri necədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dart-də tip sistemləri güclüdür, statikdir və dinamik tip təyin etmə imkanına malikdir.

Əsas anlayışlar:

  • Statik tip təyini: Dəyişənlərin tipləri kompilyasiya zamanı yoxlanılır. Bu, tətbiqin işlədilməsindən əvvəl səhvləri aşkar etməyə kömək edir.
    // Statik tip təyini nümunəsi
    int yaş = 30;
    // yaş = "otuz"; // Kompilyasiya xətası
    
  • Tiplərin avtomatik müəyyənləşdirilməsi (Type inference): Kompilyator, təyin olunan dəyərə əsasən dəyişənin tipini avtomatik müəyyən edə bilər.
    // Tiplərin avtomatik müəyyənləşdirilməsi nümunəsi
    var ad = "Alice"; // Kompilyator String olduğunu müəyyən edir
    
  • Dinamik tip (dynamic): Dəyişənə hər hansı tipdə dəyər saxlamağa imkan verir. Tip yoxlaması işləmə vaxtında həyata keçirilir. dynamic istifadəsini minimallaşdırmaq tövsiyə olunur.
    // Dinamik tip nümunəsi
    dynamic dəyər = 10;
    dəyər = "salam";
    
  • Null təhlükəsizliyi (Null Safety): Null dəyərlərlə əlaqəli səhvləri qarşısını almaq üçün əlavə olunub. Dəyişənlər default olaraq null ola bilməz, əgər açıq şəkildə nullable (?) kimi işarələnməyibsə.
    // Null təhlükəsizliyi nümunəsi
    String nullOla bilməz = "null deyil";
    // nullOla bilməz = null; // Kompilyasiya xətası
    
    String? nullOla bilər = null; // Null ola bilər
    
  • Qəti Null təhlükəsizliyi: Null olmayan tiplərlə əməliyyatların NullPointerException istisnasına səbəb olmamasını təmin edir, yalnız null ola bilmə imkanına açıq icazə verildikdə.

Dart-də tip sistemi, statik tipli dillərin təhlükəsizliyi ilə dinamik tipli dillərin elastikliyi arasında balans təmin edir.