在这里,Handler是一种函数类型。 doSomething就是这样的处理函数之一。 addHandler注册它并为其命名。 问题是将函数doSomething转换为lambda的方法是否更简单?
typealias Handler = (cmd: String, obj: Any?) -> Any?
fun doSomething(cmd: String, obj: Any?): Any? {...}
fun addHandler(name: String, handler: Handler) {...}
fun foo() {
addHandler("doSomething", { cmd, obj -> doSomething(cmd, obj) })
// or in other syntax
addHandler("doSomething") { cmd, obj -> doSomething(cmd, obj) }
}
在这里,这句话
{ cmd, obj -> doSomething(cmd, obj) }
只是将一个函数转换为具有相同参数序列的lambda。 C ++具有非常简单的语法&doSomething。在科特林怎么样?