Kotlin Fundamentals · Модуль «Функції» · Урок 5 з 8 · ~6 хв
У Kotlin функцію можна зберегти у змінну — так само, як число чи рядок. Це відкриває двері до лямбд.
Досі функції існували самі по собі — ви їх оголошували через fun і викликали за іменем. Але функцію можна також покласти у змінну. Для цього потрібен функціональний тип — опис «які параметри приймає й що повертає»:
(Int, Int) -> Int
Читається: «функція, що приймає два Int і повертає Int».
Лямбда — це сама функція без імені, записана як значення:
val sum: (Int, Int) -> Int = { x: Int, y: Int -> x + y }
sum(2, 3) // 5
Все, що між { } до стрілки -> — параметри. Після стрілки — тіло (останній вираз — результат, без return).
Якщо тип змінної вже вказано зліва, типи параметрів лямбди можна не дублювати:
val sum: (Int, Int) -> Int = { x, y -> x + y }
val sayHi: () -> Unit = { println("Привіт!") }
sayHi()
String і повертає Int?isEven типу (Int) -> Boolean, яка перевіряє, чи число парне.Додайте свою лямбду типу (Int) -> Int, наприклад квадрат числа, і виведіть результат.
Не завантажується? Відкрити напряму →
Синтаксис і глосарій — у довіднику «Лямбди та функції вищого порядку». Першоджерело: Kotlin Docs — Higher-order functions and lambdas.