Sobes.tech
Назад к вопросам
Junior — Middle
81

Какое отличие между использованием ключевых слов 'let' и 'also' в языке программирования?

Компании, где спрашивали
СовкомбанкСовкомбанк

Ответ от нейросети

sobes.tech AI

В контексте Kotlin (Android) ключевые слова let и also — это функции расширения для работы с объектами, но они имеют разные цели и поведение:

  • let используется для преобразования объекта или выполнения операций с ним, возвращая результат последнего выражения в лямбде. Внутри лямбды объект доступен как it.

  • also используется для выполнения дополнительных действий с объектом (например, логирование, отладка), возвращая сам объект без изменений. Внутри лямбды объект также доступен как it.

Пример:

val number = "123"

// let преобразует строку в число
val length = number.let {
    println("Длина строки: ${it.length}")
    it.length
}

// also выполняет действие, возвращая исходный объект
val newNumber = number.also {
    println("Исходное значение: $it")
}.toInt()

Итого:

  • let полезен, когда нужно получить результат обработки объекта.
  • also удобен для побочных эффектов без изменения объекта.