Ответ
Inline-функции в Kotlin — это функции, помеченные ключевым словом inline, которые компилятор подставляет прямо в место вызова, избегая накладных расходов на вызов функции. Особенно полезны для лямбда-параметров, так как исключают создание анонимных классов.
inline fun measureTime(block: () -> Unit) {
val start = System.currentTimeMillis()
block()
println("Time: ${System.currentTimeMillis() - start}ms")
}
// Вызов
measureTime {
// какой-то код
}
Нюансы:
- Увеличивают размер билда (код дублируется)
- Нельзя использовать в рекурсивных функциях
noinline— если нужно исключить inline для конкретного лямбда-параметра
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶