Sobes.tech
Middle

За какво е класът Nothing?

sobes.tech AI

Отговор от AI

Nothing — това е тип данни, който няма стойности. Той е полезен, когато трябва да се посочи липсата на стойност за връщане или че изпълнението на кода никога не достига определена точка.

Например:

  • В лямбда изрази, които винаги хвърлят изключение: Компилаторът разбира, че кодът след такава лямбда е недостъпен.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Нещо се обърка") // x има тип Nothing
    println("Тази линия никога няма да бъде изпълнена")
    
  • Като тип за връщане на функции, които никога не завършват нормално: Например, безкраен цикъл.

    fun loopForever(): Nothing {
        while (true) {
            // Безкраен цикъл
        }
    }
    
  • За по-точно типизиране в общи функции: Посочва, че типът не може да бъде инстанциран.