Котлинский эквивалент ключевого слова 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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