Тип Any можно назвать матерью всех прочих типов (кроме типов Null, которые мы рассмотрим в будущих уроках). В Kotlin каждый тип, будь то Int или String, считается Any. Это напоминает тип Object в Java, который является корнем все[ типов, кроме примитивных данных.

К примеру, в Kotlin можно объявить литералы Int и String как Any:

Тип Unit в Kotlin (void)

Unit является специальным типом, который всегда представляет только одно значение: объект Unit. Он похож на тип void в Java, только он упрощает работу с генериками, которые будут рассмотрены в будущих уроках. Каждая функция (думайте о функции как о фрагменте кода многократного использования), которая явно не возвращает тип, например String, возвращает Unit т.е. void если вам ассоциация с Java более близка.

К примеру, далее идет код функции, которая просто складывает 2 + 2 и как бы должна вывести результат, но на самом деле ничего не возвращает:

Результатом функции будет тип Unit, так что функция свыше аналогична следующей:

Тип Nothing в Kotlin

Nothing является типом, который полезен при объявлении функции, которая не только ничего не возвращает, но и не завершается.

Это может произойти, если функция либо заставляет программу полностью остановиться, генерируя исключение (ошибку) Exception, либо просто продолжается бесконечно без завершения (вечный цикл).

К примеру, наверное, это самая печальная функция из когда-либо написанных:

В будущем мы подробнее рассмотрим цикл while, но пока достаточно понять, что данная функция продолжается бесконечно и ничего не возвращает. Добро пожаловать в мир Nothing!

4.2 9 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Roman
Roman
3 лет назад

Здравствуйте, ошибка в строке, далее цитата :
« Это напоминает тип Object в Java, который является корнем все[ типов, кроме примитивных данных.»

Гоша
Гоша
3 лет назад

*это самая печальная функция из когда-либо написанных улыбнуло)))

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x