Ответ
Nothing в Kotlin — это специальный тип, обозначающий отсутствие значения. Он используется в случаях, когда функция никогда не завершается нормально (например, всегда выбрасывает исключение или зацикливается).
Пример:
fun fail(message: String): Nothing {
throw IllegalStateException(message)
}
fun example() {
val result = fail("Error") // Тип `result` — `Nothing`
println("Unreachable") // Этот код не выполнится
}
Где ещё применяется:
- В
TODO()(возвращаетNothing). - В ветках
whenилиif, где одна из веток не возвращает значение. - В обобщённых типах для обозначения пустых коллекций (например,
List<Nothing>).
Nothing — подтип всех типов, что позволяет использовать его в ковариантных позициях.