Котлинский эквивалент ключевого слова defer в SwiftAndroid

Форум для тех, кто программирует под Android
Anonymous
Котлинский эквивалент ключевого слова defer в Swift

Сообщение Anonymous »

Есть ли в Kotlin что-нибудь подобное, что обеспечивает те же возможности, что и ключевое слово Swift «defer»?

Ключевое слово defer гарантирует, что код внутри блок отсрочки выполняется перед возвратом из функции.

Ниже приведен пример, показывающий, что ключевое слово defer существует в Котлине.

Код: Выделить всё

    class MyClass {

var timeStamp = 0L

fun isEdible(fruit: Fruit): Boolean {
defer {
timeStamp = System.currentTimeMillis()
}
if (fruit.isExpired) {
return false
}
if (fruit.isRipe) {
return true
}
return false
}
}
В приведенном выше случае, независимо от того, в какой момент функция вернется, блок внутри defer будет выполнен, и значение метки времени обновится непосредственно перед функция завершается.

Я знаю, что в Java есть ключевое слово "finally" {}, используемое вместе с try{} catch{}, но это не совсем то, что откладываете предложения.

Подробнее здесь: https://stackoverflow.com/questions/514 ... er-keyword

Вернуться в «Android»