Sobes.tech
Middle

Nothing sinfi nima uchun kerak?

sobes.tech AI

AIdan javob

Nothing — bu ma'lumot turi bo'lib, qiymatga ega emas. Bu, qiymat qaytarilmaydigan yoki kod bajarilishi hech qachon ma'lum bir nuqtaga yetmaydigan holatlarni ko'rsatishda foydalidir.

Misollar:

  • Doim xatolik chiqaradigan lambda ifodalarida: Kompilyator, bunday lambda'dan keyingi kodga etib borilmasligini tushunadi.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Nimadir noto'g'ri ketdi") // x `Nothing` turiga ega
    println("Bu satr hech qachon bajarilmaydi")
    
  • Normal tarzda tugamaydigan funksiyalar uchun qaytish turi sifatida: Masalan, cheksiz sikl.

    fun loopForever(): Nothing {
        while (true) {
            // Cheksiz sikl
        }
    }
    
  • Umumiy funksiyalarda aniqroq tiplash uchun: Bu, tipni instansiya qilish mumkin emasligini ko'rsatadi.