【发布时间】:2019-02-23 05:57:35
【问题描述】:
我正在阅读 Kotlin 文档的 Default Arguments 部分,并且遇到了以下信息块:
但是如果最后一个参数 lambda 被传递给外部的函数调用 括号,不允许为默认参数传递任何值:
fun foo(bar: Int = 0, baz: Int = 1, qux: () -> Unit) { ... }
foo(1) { println("hello") } // Uses the default value baz = 1
foo { println("hello") } // Uses both default values bar = 0 and baz = 1
我试图理解这里所说的内容。
我知道前 2 个参数不需要传递任何值。第三个参数似乎是一个返回Unit类型的函数。
这就是我从他们的解释中得到的全部信息:But if a last argument lambda is passed to a function call outside the parentheses, passing no values for the default parameters is allowed
我猜他们是说第三个参数不需要传入?
【问题讨论】: