Кои функции за обхват (scope functions) в Kotlin познаваш?
sobes.tech AI
Отговор от AI
В Kotlin има няколко функции за обхват (scope functions), които позволяват извършване на операции с обект в определен контекст. Основните са:
-
let — изпълнява блок код с обекта като аргумент
itи връща резултата от блока. Често се използва за безопасна работа с nullable.val name: String? = "Kotlin" name?.let { println("Дължина на името: ${it.length}") } -
run — изпълнява блок код с обекта като
thisи връща резултата от блока. Полезна за инициализация и изчисления.val result = "Hello".run { println(this) length } -
with — подобна на
run, но се извиква като функция с обекта като параметър и връща резултата от блока.val builder = StringBuilder() val result = with(builder) { append("Hello") append(" World") toString() } -
apply — изпълнява блок с обекта като
thisи връща самия обект. Често се използва за конфигуриране на обекти.val person = Person().apply { name = "John" age = 30 } -
also — изпълнява блок с обекта като
itи връща самия обект. Използва се за допълнителни действия, например логване.val numbers = mutableListOf(1, 2, 3).also { println("Списък: $it") }
Всяка функция се различава по начина, по който предава обекта към ламбдато (this или it) и какво връща (резултата от блока или самия обект).