Обложка канала

Библиотека мобильного разработчика

Полезные материалы по всему, что может быть интересно мобильному разработчику.

Библиотека мобильного разработчика

3 года назад
Открыть в
Вопрос по Kotlin #вопросы_с_собеседований Что такое нелокальный return? ............................................................................................................... Это механизм, который позволяет выйти из внешней функции или лямбда-выражения и вернуться к вызывающему коду, обходя оставшуюся часть текущей функции. Есть нюансы работы: В не-inline функциях: Если внутри функции есть лямбда-выражение, non-local return из лямбда-выражения может привести к нелокальному завершению внешней функции. Для использования non-local return внутри лямбда-выражения в не-inline функции, необходимо использовать метку (label) и оператор return@label. В inline-функциях: В inline-функциях, лямбда-выражения становятся частью кода функции и имеют локальный контроль над потоком управления. Оператор return внутри лямбда-выражения в inline-функции приведет только к завершению самого лямбда-выражения, не влияя на внешнюю функцию.