Почему появился Unit в Kotlin

«Почему появился Unit в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Unit в Kotlin — это аналог void в Java, но с ключевым отличием: это полноценный объект (синглтон), а не просто ключевое слово.

Зачем?

  1. Унификация типов — функции всегда возвращают что-то, даже если это "ничего".

  2. Работа с genericsUnit позволяет корректно использовать функции как объекты первого класса, например:

    fun doSomething(): Unit { ... }  
    val action: () -> Unit = ::doSomething  
  3. Читаемость — явное указание Unit делает код более декларативным.

Пример:

fun log(message: String): Unit {  
    println(message)  
    // return Unit можно опустить — компилятор добавит автоматически  
}