Sobes.tech
Junior — Middle

Kuras scope funkcijas Kotlin tu zini?

sobes.tech AI

Atbilde no AI

Kotlin ir ir vairākas scope funkcijas (scope functions), kas ļauj veikt operācijas ar objektu noteiktā kontekstā. Galvenās ir:

  • let — izpilda koda bloku ar objektu kā argumentu it un atgriež bloka rezultātu. Bieži tiek izmantota drošai darbībai ar nullable.

    val name: String? = "Kotlin"
    name?.let {
        println("Vārda garums: ${it.length}")
    }
    
  • run — izpilda koda bloku ar objektu kā this un atgriež bloka rezultātu. Noderīga inicializācijai un aprēķiniem.

    val result = "Hello".run {
        println(this)
        length
    }
    
  • with — līdzīga kā run, bet tiek izsaukta kā funkcija ar objektu kā parametru un atgriež bloka rezultātu.

    val builder = StringBuilder()
    val result = with(builder) {
        append("Hello")
        append(" World")
        toString()
    }
    
  • apply — izpilda bloku ar objektu kā this un atgriež pašu objektu. Bieži tiek izmantota objektu konfigurācijai.

    val person = Person().apply {
        name = "John"
        age = 30
    }
    
  • also — izpilda bloku ar objektu kā it un atgriež pašu objektu. Lietderīga papildu darbībām, piemēram, žurnāla ierakstīšanai.

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

Katras funkcijas atšķirība ir tajā, kā tā pārsūta objektu lambda (this vai it) un ko tā atgriež (bloka rezultātu vai pašu objektu).