kotlin-native是否有析构函数?

在kotlin本地,有memScoped函数,当控制超出范围时自动释放分配的内存。 有没有像本地对象的析构函数?

当前的Kotlin / Native没有提供在内存中不再需要某个对象时调用方法的机制(Java语言中的终结器),但是内联lambdas很容易实现机制,类似于C ++中的RAII。 例如,如果你想确定,某些资源在离开一定范围后总是被释放,你可以这样做:

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") }) }