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