Jak spolu souvisejí koncepty inline a Generic v programování?
sobes.tech AI
Odpověď od AI
Koncepty inline a generic v programování řeší různé úkoly, ale často se používají společně, zejména v Kotlinu.
-
Generic umožňuje vytvářet obecné funkce a třídy, které pracují s různými datovými typy bez duplikace kódu. Například funkce
fun <T> printItem(item: T)může přijímat jakýkoli typ. -
Inline je modifikátor funkce, který při kompilaci vloží tělo funkce místo volání, což snižuje režii volání funkce, což je zvlášť užitečné při práci s lambdami.
Společně umožňují vytvářet efektivní obecné funkce s lambda parametry bez ztráty výkonu. Například inline generické funkce jsou často používány v Kotlinové knihovně pro kolekce.
Pří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
}
Zde inline snižuje režii volání lambda, a generic umožňuje pracovat s jakýmkoli typem seznamu.