Ответ
expect/actual — это механизм в Kotlin Multiplatform (KMP) для разделения объявления (expect) и реализации (actual) кода под разные платформы.
Пример:
// Общий модуль (expect)
expect fun getPlatformName(): String
// Android реализация (actual)
actual fun getPlatformName(): String = "Android"
// iOS реализация (actual)
actual fun getPlatformName(): String = "iOS"
Нюансы:
expectобъявляет контракт,actualпредоставляет платформо-специфичную реализацию.- Подходит для функций, классов, свойств, объектов.
- Компилятор проверяет соответствие сигнатур.
- Если
actualотсутствует — ошибка компиляции.
Используется для кроссплатформенной разработки без дублирования общего API.