我知道如何将时间作为 repeat
函数的第一个参数:
repeat(3) {
println("This will print 3 times")
}
但是我检查了Kotlin文档,它显示了另一个参数 action
要使用(参见kotlin doc):
inline fun repeat(times: Int, action: (Int) -> Unit)
我尝试了这段代码,但因错误Expecting ')'而失败:
repeat(3, 2 -> anotherFun()) {
println("This will show 2 times?")
}
fun anotherFun() {
println("head into the 2nd time and print this out.")
}
我知道我有语法错误 . 所以我的问题是:什么是 (Int) -> Unit
以及如何正确使用动作参数?
3 回答
(Int) -> Unit
描述了一个带Int
并返回Unit
(void)的函数 . 为了按原样调用它,你可以这样做:要么
但是,将要发生的迭代次数不可用,但您可以通过借用标准库中的迭代来定义自己的迭代次数...
然后你可以像这样使用它:
如果您需要lambda中的整体迭代次数,您也可以预先在其外部声明一个变量(
val
):