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.
dynamicistifadə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
nullola 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
NullPointerExceptionistisnası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.