Есть ли у котлин-родных деструкторы?

В kotlin native есть memScoped функция, которая автоматически освобождает выделенную память, когда управление выходит из области видимости. Есть ли что-то вроде деструкторов для локальных объектов?

    Текущий Kotlin / Native не предоставляет механизм вызова метода, когда определенный объект больше не нужен в памяти (финализатор в речи Java), но встроенные lambdas легко позволяют реализовать механизмы, аналогичные RAII в C ++. Например, если вы хотите быть уверенным, что некоторый ресурс всегда освобождается после выхода из определенной области, вы можете:

    class Resource { fun take() = println("took") fun free() = println("freed") } inline fun withResource(resource: Resource, body: () -> Unit) = try { resource.take() body() } finally { resource.free() } fun main(args: Array<String>) { withResource(Resource(), { println("body") }) } 
    Intereting Posts
    Как оценивать программу Котлин? Ресивер RecyclerView вызывается самостоятельно Есть ли разница между «объектом-получателем» и «приемником расширения», Перехват метода перегрузки, полностью переопределяющий метод Firebase Android Авто Войти Facebook-мессенджер для анимации чата Ошибка компиляции Котлина: ни одна из следующих функций не может быть вызвана с предоставленными аргументами Как расширить класс класса Kotlin или использовать общие для создания простого свойства getter, который будет работать во всех подклассах Number? Жалоба EmptyClassBlock на Json TypeToken Как получить завершение кода IntelliJ IDEA для импорта статических методов Java в качестве функций верхнего уровня Kotlin? Импортировать библиотеки зависимостей в терминале kotlinc Каков правильный синтаксис для переопределения функции члена интерфейса с помощью модификатора видимости? Android: дублирование фрагментов в FragmentManager Котлин «внутренний» модификатор видимости в Android Преобразование метода «Callable <T>» Java в Kotlin