Junior — Middle
Kotlin'da inline funktsiya ishlatish nima ekanligini va u oddiy funktsiyadan qanday farq qilishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Kotlin'da inline anahtar sözü, derleyicinin fonksiyon gövdesini çağrı yerine doğrudan yerleştirmesi üçün istifadə olunur, bu da normal çağrı yerinə yığının içində yerləşir. Bu, fonksiyon çağırış xərclərini azaldır və xüsusilə lambda ifadələri qəbul edən yüksək səviyyəli funksiyalar üçün faydalıdır.
Adi funksiyadan fərqləri:
- Performans: inline funksiyalar, funksiyanın çağırışını aradan qaldıraraq performansı artıra bilər.
- Lambda ifadələri: inline funksiyalar istifadə edildikdə, lambda'lar əlavə obyektlər yaratmır, bu da çöp toplayıcısına yükü azaldır.
Nümunə:
inline fun measureTime(block: () -> Unit) {
val start = System.currentTimeMillis()
block()
println("İcranın vaxtı: ${System.currentTimeMillis() - start} ms")
}
fun main() {
measureTime {
println("Kod icra olunur")
}
}
Burada, measureTime inline funksiyadır və onun gövdəsi main daxilində adi çağırış yerinə yerləşdiriləcək.