Ответ
Unit в Kotlin — это аналог void в Java, но с ключевым отличием: это полноценный объект (синглтон), а не просто ключевое слово.
Зачем?
-
Унификация типов — функции всегда возвращают что-то, даже если это "ничего".
-
Работа с generics —
Unitпозволяет корректно использовать функции как объекты первого класса, например:fun doSomething(): Unit { ... } val action: () -> Unit = ::doSomething -
Читаемость — явное указание
Unitделает код более декларативным.
Пример:
fun log(message: String): Unit {
println(message)
// return Unit можно опустить — компилятор добавит автоматически
}