fun lazyProperty(initializer:() -> Int): Int {
val result: Lazy<Int> = lazy(initializer)
return result.value
}
fun main(args: Array<String>) {
// 1.
val bar: Int = lazyProperty({ 1 + 1 })
// 2.
val foo: Int = lazyProperty() {
42
}
println("bar $bar, foo: $foo")
}
我最近偶然在调用科特林函数的语法,我只是不明白这一点的身体机能,PARAM实现: 拳头的选择是明确的 - 这是一个拉姆达但第二个看起来不像使用必需参数调用函数的通常语法。通常应该放置params的括号是空的,取而代之的是函数参数来自调用者的主体!这怎么可能?它需要什么?科特林:在主叫
另请注意,如果一个函数只有一个函数参数,则括号可以省略:'lazyProperty {42}' – hotkey