Ako súvisia koncepty inline a Generic v programovaní?
sobes.tech AI
Odpoveď od AI
Koncepty inline a generic v programovaní plnia rôzne úlohy, ale často sa používajú spolu, najmä v Kotlin.
-
Generic umožňuje vytvárať všeobecné funkcie a triedy, ktoré pracujú s rôznymi dátovými typmi bez duplikácie kódu. Napríklad funkcia
fun <T> printItem(item: T)môže prijať akýkoľvek typ. -
Inline je modifikátor funkcie, ktorý pri kompilácii vloží telo funkcie namiesto volania, čím znižuje režiu volania funkcie, čo je obzvlášť užitočné pri práci s lambdami.
Spolu umožňujú vytvárať efektívne všeobecné funkcie s lambda parametrami bez straty výkonu. Napríklad inline generické funkcie sa často používajú v štandardnej knižnici Kotlin pre kolekcie.
Príklad:
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
}
Tu inline znižuje náklady na volanie lambda, a generic umožňuje pracovať s akýmkoľvek typom zoznamu.