Junior — Middle
93
Kotlin-да inline функцияны пайдалану не екенін және ол әдеттегі функциядан қалай ерекшеленетінін түсіндіре аласыз ба?
Сұралған компаниялар
Viasat tech
Effective Mobile
AI-дан жауап
sobes.tech AI
В Kotlin ключевое слово inline используется для функций, чтобы компилятор вставлял тело функции непосредственно в место вызова, вместо обычного вызова через стек. Это уменьшает накладные расходы на вызов функции, особенно полезно для функций высшего порядка, которые принимают лямбда-выражения.
Отличия от обычной функции:
- Производительность: inline-функции могут повысить производительность за счёт устранения вызова функции.
- Лямбда-выражения: при использовании inline функций лямбды не создают дополнительных объектов, что снижает нагрузку на сборщик мусора.
Пример:
inline fun measureTime(block: () -> Unit) {
val start = System.currentTimeMillis()
block()
println("Время выполнения: ${System.currentTimeMillis() - start} мс")
}
fun main() {
measureTime {
println("Выполняется код")
}
}
Здесь measureTime — inline функция, и её тело будет вставлено в main вместо обычного вызова.