Первая функция - это функция, которая возвращает функцию.На самом деле first()
возвращает другую функцию, которая печатает «сначала», но не выполняет ее.
Для этого вам нужно вызвать ее, добавив еще один набор скобок:
first()()
// Or
val resultOfFirst = first()
resultOfFirst()
Это происходит потому, что знак =
для функций аналогичен оператору возврата, а когда вы заключаете вещи в {}
, вы фактически создаете лямбду.Следовательно, сначала возвращает лямбду, но не выполняет ее