Ответ
Unit в Kotlin — это аналог void в Java, но с ключевым отличием: это синглтон-объект, представляющий отсутствие значимого значения.
Особенности:
- Используется, когда функция ничего не возвращает (но технически возвращает
Unit). - Явное указание
Unitнеобязательно — компилятор подставляет его автоматически. - Полезен в generics, например,
Function<Int, Unit>.
Пример:
fun logMessage(message: String): Unit {
println(message)
// return Unit — неявно добавлено компилятором
}
Отличие от void:
Unit— это реальный тип (object Unit), аvoid— просто ключевое слово.- Позволяет единообразно работать с функциями в generics и функциональных цепочках.