Можешь ли ты описать основные отличия и назначения ключевых конструкций expect и actual в рамках тестирования?

Ключевые конструкции expect и actual используются в Kotlin Multiplatform для реализации платформозависимого кода.

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

Что ответить на собеседовании

Ключевые конструкции expect и actual используются в Kotlin Multiplatform для реализации платформозависимого кода.

Подробный разбор

Ответ с пояснениями

Ключевые конструкции expect и actual используются в Kotlin Multiplatform для реализации платформозависимого кода.

  • expect объявляет интерфейс, класс, функцию или свойство без реализации — то есть задаёт контракт, который должен быть реализован на каждой целевой платформе.
  • actual предоставляет конкретную реализацию для платформы (Android, iOS, JVM и т.д.).

В контексте тестирования это позволяет писать общий тестируемый код с expect-объявлениями, а для каждой платформы реализовывать actual-версию, что упрощает кроссплатформенное тестирование.

Пример:

// commonMain
expect fun getPlatformName(): String

// androidMain
actual fun getPlatformName() = "Android"

// iosMain
actual fun getPlatformName() = "iOS"

Таким образом, expect/actual помогают разделять платформозависимую логику и обеспечивают возможность писать тесты, которые работают на всех платформах.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку