在我正在复习的一些培训中,我不完全理解示例高阶函数和 lambda 是如何通过语法连接的
这个高阶 Kotlin 函数
fun myWith(name: String, block: String.() -> Unit) {
name.block()
}
是这样调用的
myWith(fish.name) {
capitalize()
}
我知道第二部分是一个 lambda,但我不明白为什么它没有作为函数的第二个参数包含在内,而是挂在参数之外。比如为什么它不被调用为:
myWith(fish.name, { capitalize() } )
稍后对该示例的更详细描述显示为
myWith(fish.name, object : Function1<String, Unit> {
override fun invoke(name: String) {
name.capitalize()
}
})
哪个是在正常参数列表中包含 lambdamyWith
慕容森
杨魅力
随时随地看视频慕课网APP
相关分类