Назад к вопросам
Совкомбанк
Junior — Middle
80
Какое отличие между использованием ключевых слов '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удобен для побочных эффектов без изменения объекта.