Sobes.tech
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.