let: Вызывает замыкание на объекте и возвращает результат замыкания. Позволяет использовать объект как аргумент лямбда-выражения (it). Подходит для работы с nullable объектами.
kotlin
run: Выполняет блок кода на объекте и возвращает результат блока. Внутри блока объект доступен как this. Полезно для инициализации объекта и последующего вызова методов.
kotlin
also: Выполняет замыкание на объекте и возвращает сам объект. Позволяет выполнять дополнительные действия (например, логирование или конфигурация) над объектом, не изменяя его.
kotlin
apply: Выполняет замыкание на объекте и возвращает сам объект. Внутри блока объект доступен как this. Удобно для настройки свойств объекта.
kotlin
Основные различия:
| Функция | Как доступен объект | Что возвращает | Типичное применение |
|---|---|---|---|
let | it | Результат лямбды | Nullable-объекты, трансформация |
run | this | Результат лямбды | Инициализация и вызов методов |
also | it | Сам объект | Дополнительные действия (Side effects) |
apply | this | Сам объект | Настройка свойств |