Sobes.tech
Junior — Middle

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.