Dasturlashda inline va Generic tushunchalari qanday bog'liq?
sobes.tech AI
AIdan javob
Dasturlashda inline va generic tushunchalari turli vazifalarni bajaradi, ammo ko'pincha birga ishlatiladi, ayniqsa Kotlinda.
-
Generic turli ma'lumot turlari bilan ishlaydigan umumiy funksiyalar va sinflar yaratishga imkon beradi, kodni takrorlamasdan. Masalan,
fun <T> printItem(item: T)funksiyasi har qanday turdagi qabul qilishi mumkin. -
Inline bu funksiyaning modifikatori bo'lib, kompilyatsiya paytida funksiyaning tanasi chaqiruv o'rniga joylashtiriladi, bu esa chaqirish xarajatlarini kamaytiradi, ayniqsa lambda bilan ishlashda foydalidir.
Ular birga, ishlash unumdorligini yo'qotmasdan, lambda parametrlar bilan samarali umumiy funksiyalar yaratishga imkon beradi. Masalan, inline generic funksiyalar Kotlinning standart kutubxonasida kolleksiyalar uchun keng qo'llaniladi.
Misol:
inline fun <T> List<T>.customFilter(predicate: (T) -> Boolean): List<T> {
val result = mutableListOf<T>()
for (item in this) {
if (predicate(item)) result.add(item)
}
return result
}
Bu yerda, inline lambda chaqirish xarajatlarini kamaytiradi, generic esa har qanday ro'yxat turida ishlash imkonini beradi.