首页 > 解决方案 > Kotlin 或 Swift 中的可调用对象

问题描述

是否可以在和/或中创建callable对象?KotlinSwift

我有很多对象只有一种方法execute。该对象基本上用作闭包。在对象构造过程中会捕获一些依赖关系。调用方法时会传递一些参数execute

我不使用普通函数的原因是类实现了接口,并且类型检查在程序之外更有帮助。

标签: swiftoopkotlinfunctional-programming

解决方案


您可以重载invoke运算符

class Callable(val prop: String) {
    operator fun invoke(para : String) {
        println("Invoke: $prop $para")
    }
}

fun main() {
    val c = Callable("prop")
    c("para")
}

推荐阅读