Как указать лямбду при использовании extension функции в Kotlin

«Как указать лямбду при использовании extension функции в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Лямбду можно передать напрямую в скобках после имени функции, если она последний параметр. Для extension-функций синтаксис аналогичный:

// Пример extension-функции с лямбдой
fun String.process(transform: (String) -> String): String {
    return transform(this)
}

// Использование
val result = "Hello".process { it.reversed() } 
// или с явным параметром
val result2 = "Hello".process { str -> str.uppercase() }

Если лямбда - единственный параметр, скобки можно опустить:

"text".process { it + "!" }