Результат лямбды в Kotlin
Лямбда с типом результата отдает наружу
значение последнего выражения в теле.
Отдельный return для однострочного
варианта не нужен:
val twice = { x: Int -> x * 2 }
val result = twice(9)
println(result)
Если тело занимает несколько строк, итогом снова считается последнее выражение:
val clamp = { n: Int ->
val limit = 100
if (n > limit) limit else n
}
println(clamp(150))
Лямбда может возвращать Boolean,
строку или другой тип - главное, чтобы
последнее выражение имело нужный тип:
val isEven = { n: Int -> n % 2 == 0 }
println(isEven(4))
println(isEven(5))
Создайте лямбду absDiff с двумя
целыми параметрами, которая возвращает
модуль их разности. Выведите результат
для 3 и 10.
Создайте лямбду startsWithA с
параметром типа String, которая
возвращает true, если строка
начинается с буквы "a". Выведите
результаты для "apple" и
"banana".