Sobes.tech
Junior — Middle

Aké scope funkcie v Kotlin poznáš?

sobes.tech AI

Odpoveď od AI

V Kotlinu existuje niekoľko funkcií rozsahu (scope functions), ktoré umožňujú vykonávať operácie s objektom v určitom kontexte. Hlavné sú:

  • let — vykonáva blok kódu s objektom ako argumentom it a vracia výsledok bloku. Často sa používa pre bezpečnú prácu s nullable.

    val name: String? = "Kotlin"
    name?.let {
        println("Dĺžka mena: ${it.length}")
    }
    
  • run — vykonáva blok kódu s objektom ako this a vracia výsledok bloku. Užitečné pre inicializácie a výpočty.

    val result = "Hello".run {
        println(this)
        length
    }
    
  • with — podobná ako run, ale volá sa ako funkcia s objektom ako parametrom a vracia výsledok bloku.

    val builder = StringBuilder()
    val result = with(builder) {
        append("Hello")
        append(" World")
        toString()
    }
    
  • apply — vykonáva blok s objektom ako this a vracia samotný objekt. Často sa používa na konfiguráciu objektov.

    val person = Person().apply {
        name = "John"
        age = 30
    }
    
  • also — vykonáva blok s objektom ako it a vracia samotný objekt. Používa sa na doplnkové akcie, napríklad logovanie.

    val numbers = mutableListOf(1, 2, 3).also {
        println("Zoznam: $it")
    }
    

Každá funkcia sa líši v spôsobe, akým odovzdáva objekt lambda výrazu (this alebo it) a čo vracia (výsledok bloku alebo samotný objekt).