Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: also, scope function, side effect, object

Что такое функция "also" в Kotlin?

Этот вопрос проверяет знание о функции also, которая позволяет выполнять дополнительные действия с объектом, не изменяя сам объект, и полезна при необходимости добавить побочные эффекты в код.

Короткий ответ

Функция also выполняет дополнительные действия с объектом внутри лямбда-выражения, но возвращает сам объект без изменений. Это полезно, когда нужно выполнить побочные эффекты, такие как логирование или проверку состояния, но оставить объект неизменным.

Длинный ответ

Функция also в Kotlin — это еще одна функция области видимости, которая позволяет выполнить действия с объектом, но возвращает сам объект без изменений. Она используется для выполнения побочных эффектов, таких как логирование, валидация или другие действия, которые не должны изменять сам объект.

Основные характеристики:

  • also работает с объектами, передавая их как параметр лямбда-выражения.

  • Этот метод не изменяет объект, а возвращает его после выполнения лямбды.

  • Часто используется для выполнения побочных эффектов (например, логирования).

Пример:

val list = mutableListOf<Int>()

val result = list.also {
    	it.add(1)
    	it.add(2)
    	it.add(3)
}

println(result)  // Печатает оригинальный список с добавленными элементами
  • Здесь функция also добавляет элементы в список, но возвращает сам список, не изменяя его структуру.

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

Когда применять?

  • Используйте also, когда вам нужно добавить побочные действия, не изменяя сам объект.

  • Это помогает выполнять несколько операций с объектом в одном месте без необходимости делать промежуточные изменения.

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

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#also

#scope function

#side effect

#object

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.