Sobes.tech
Middle

Dart dilində Never tipi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Never tipi, ifadənin heç vaxt uğurla tamamlanmayacağını göstərən göstəricidir. Bu, ya istisna atmaq və ya sonsuz döngüyə daxil olan funksiyalar və metodlar üçün istifadə olunur.

İstifadə nümunələri:

  • İstisna atan funksiya:

    Never _throwError(String message) {
      // İstisna atır, funksiya heç vaxt dəyər qaytarmır
      throw StateError(message);
    }
    
  • Sonsuz döngü ilə funksiya:

    Never _infiniteLoop() {
      // Sonsuz döngüyə daxil olur, funksiya heç vaxt bitmir
      while (true) {
        // Nəsə et
      }
    }
    

Never-in əsas üstünlüyü, onun köməyi ilə tərtibçi bu tip funksiyanın və ya metodun çağırışından sonra kodun əlçatmaz olduğunu başa düşməsinə kömək edir, bu da potensial səhvlərin aşkarlanması üçün statik analizə imkan verir, məsələn, əlçatmaz kod və səhv işləmə.

void-dan fərqli olaraq, bu, funksiyanın dəyər qaytarmadığını (amma uğurla tamamlandığını) bildirir, Never isə funksiyanın heç vaxt tamamlanmayacağını göstərir.

// Dəyər qaytarmayan, uğurla tamamlanan funksiya
void doSomething() {
  print('Nəsə edirəm');
}

// Never qaytaran funksiya (heç vaxt uğurla tamamlanmır)
Never crashAndBurn() {
  throw 'Ayıbdır!';
}

Never tipi aşağı tipdir (bottom type), yəni hər hansı digər tipin alt tipidir. Bu, Never qaytaran funksiyanı hər hansı digər tipin gözlənildiyi yerlərdə istifadə etməyə imkan verir.