Kotlin в IntelliJ IDEA Kotlin змінні Kotlin типи даних Kotlin операції з числами Kotlin умовні вирази Kotlin умовні конструкції Kotlin цикли Kotlin послідовності Kotlin масиви Kotlin функціональне програмування Kotlin змінна кількість параметрів. Vararg Kotlin повернення результату. оператор return Kotlin однорядкові і локальні функції Kotlin перевантаження функцій Kotlin Лямбда-вирази Kotlin функції вищого порядку Kotlin Анонімні функції Kotlin ООП Класи і об'єкти Kotlin ООП властивості Kotlin ООП конструктор Kotlin ООП функції в класах Kotlin ООП Пакети та імпорт Kotlin ООП модифікатори видимості Kotlin ООП вкладені класи Kotlin ООП інтерфейси Kotlin ООП спадкування Kotlin ООП Перевизначення методів і властивостей Kotlin ООП Абстрактні класи та методи Kotlin ООП Data-класи Kotlin ООП перерахування enums Kotlin ООП Null і nullable-типи Kotlin ООП Обробка винятків Kotlin ООП перетворення типів Kotlin ООП Інфіксна функція Kotlin ООП функції розширення Kotlin ООП Узагальнені класи і функції Kotlin ООП обмеження узагальнень Kotlin ООП Варіантність, коваріантність і контраваріантність Kotlin Колекції. Змінювані і незмінні колекції Kotlin Колекції. LIST список Kotlin Колекції. Set Kotlin Колекції. Map

Kotlin Анонімні функції


Анонімні функції виглядають як звичайні за тим винятком, що вони не мають імені. Анонімна функція може мати один вислів:

fun(x: Int, y: Int): Int = x + y

Або може представляти блок коду:

fun(x: Int, y: Int): Int{ 
    return x + y
}

Анонімні функції використовується тільки в якості аргументів в інших функціях. наприклад:

fun main(args: Array<String>) {
 
    operation(9,5, fun(x: Int, y: Int): Int { return x + y })   // 14
    operation(9,5, fun(x: Int, y: Int): Int = x - y)            // 4
}
fun operation(x: Int, y: Int, op: (Int, Int) ->Int){
 
    val result = op(x, y)
    println(result)
}

Функція operation приймає три параметри. Перші два параметри - числа, а третій параметр - функція, яка виконує деякі дії над цими числами.

При виконанні функції operation для третього параметра в якості аргументу передається анонімна функція, яка відповідає цим параметром за типом: (Int, Int) ->Int . Тобто анонімна функція повинна приймати два парамтра типу Int і повертати значення типу Int.

Передача анонімної функції в даному випадку аналогічна передачі лямбда-вирази, в той же час лямбда-вирази представляють більш лаконічний синтаксис, тому, як правило, в цій ролі застосовуються лямбда-вирази.


Наш партнер:
beta test mp3 playlist downloader