Junior
Šta je blok 'run' u Kotlinu i kako se koristi?
sobes.tech АИ
Одговор од АИ
Blok run u Kotlinu je ugrađena funkcija za opseg u Kotlin standardnoj biblioteci. Koristi se za:
- Izvršavanje bloka koda na objektu: Poziva se na objektu i izvršava lambda izraz dat kao argument. Unutar lambde, objekat je dostupan kao
this. - Vraćanje rezultata: Vraća rezultat poslednjeg izraza u lambdi.
- Nullable objekti: Koristan je za rad sa nullable objektima, jer će pri korišćenju sigurnosnog operatora poziva
?., blokrunbiti izvršen samo ako objekat nije null.
Glavne karakteristike:
- Primalac (
this): Objekat na kojem je pozvanrun, dostupan je unutar lambde kaothis. - Vrednost za povratak: Rezultat poslednjeg izraza u lambdi.
Primeri upotrebe:
// Primer 1: izvršavanje koda na objektu i vraćanje rezultata
val length: Int = "some string".run {
// 'this' ovde se odnosi na "some string"
println("Dužina niza: ${this.length}")
length // Vraća dužinu niza
}
// Primer 2: rad sa nullable objektom
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
// Blok će se izvršiti samo ako nullableString nije null
toUpperCase() // Vraća string u velikim slovima
}
val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
// Blok se neće izvršiti, run?. će vratiti null
toUpperCase()
}
// Primer 3: kreiranje i podešavanje objekta
val person = run {
val name = "Alice"
val age = 30
Person(name, age) // Pretpostavlja se da klasa Person postoji
}