Какой возвращаемый тип у suspend функции

«Какой возвращаемый тип у suspend функции» — вопрос из категории Coroutines и Flow, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Suspend-функция в Kotlin может возвращать любой тип, включая Unit, или не возвращать ничего (что эквивалентно Unit). Главное отличие от обычных функций — suspend-функции могут приостанавливать выполнение без блокировки потока.

Примеры:

suspend fun fetchData(): String { // возвращает String
    delay(1000)
    return "Data"
}

suspend fun updateCache(): Unit { // эквивалентно suspend fun updateCache()
    // логика без возвращаемого значения
}

Важно: suspend-функции не могут возвращать void (это Java-концепция), но могут возвращать Unit или любой другой тип.