Лямбда без параметров в Kotlin
Лямбда может не принимать аргументов.
Перед -> не пишут имен - сразу
идет стрелка и тело, либо тип задают
как () -> ...:
val now = { System.currentTimeMillis() }
println(now())
Такой блок удобен, когда нужно отложить действие без данных снаружи. Сообщение в консоль можно обернуть в лямбду и вызвать позже:
val sayOk: () -> Unit = {
println("ok")
}
sayOk()
Лямбда без параметров может возвращать значение - последнее выражение в теле отдается вызывающему коду:
val pickLabel: () -> String = {
"default"
}
println(pickLabel())
Создайте переменную banner с типом
() -> String, которая возвращает
строку "start". Выведите результат
двух вызовов в консоль.
Создайте переменную line с типом
() -> Unit, которая выводит
"done". Вызовите её один раз.