Какие знаешь ключевые слова которые используются с inline

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

Ответ

inline, noinline, crossinline — ключевые слова для работы с inline-функциями в Kotlin.

  • inline — указывает компилятору подставить тело функции вместо вызова, уменьшая накладные расходы.
inline fun execute(action: () -> Unit) {
    action()
}
  • noinline — запрещает встраивание конкретного лямбда-параметра (например, если он передаётся дальше).
inline fun execute(noinline action: () -> Unit) {
    otherFunction(action) // action не будет встроен
}
  • crossinline — гарантирует, что лямбда не содержит return (полезно для колбэков в асинхронном коде).
inline fun runAsync(crossinline callback: () -> Unit) {
    thread { callback() } // return здесь запрещён
}