Sobes.tech
Middle

Az inline-függvények mire valók a programozásban?

sobes.tech MI

Válasz az MI-től

A függvényhívás általános költségeinek csökkentése érdekében (veremkeret létrehozása, paraméterek átadása stb.). A fordító a ilyen függvény kódját közvetlenül a hívás helyére illeszti be. Ez növelheti a kód méretét, de javíthatja a teljesítményt.

Kotlinben az inline függvényeket gyakran lambda-k optimalizálására használják:

// inline nélkül, a lambda objektummá válik, osztály jön létre
fun notInline(block: () -> Unit) {
    block()
}

// inline esetén, a lambda kódja a hívás helyére kerül
inline fun inlineExample(block: () -> Unit) {
    block()
}

fun main() {
    notInline {
        println("Ez nem inline")
    }

    inlineExample {
        println("Ez inline")
    }
}

A használat korlátozott az APK méretének növekedése miatt. Nem ajánlott nagyobb függvényekhez.