我是 Kotlin 的初学者。 您如何解释以下代码片段?
fun main(args: Array<String>) {
var k = listOf<Double>(1.2,77.8,6.3,988.88,0.1)
k.forEach(::println)
}
这运行良好并给出了列表,但是有人可以帮助解释 k.forEach(::println) 是如何工作的吗?
最佳答案
forEach
获取 k
中的每个元素并执行您指定的操作。在您的示例中,“what”参数是 ::println
,它指的是 stdlib 函数 println(message: Any)
. ::
引入了一个 function reference到这个功能。每个元素都作为参数 message
传递给 println
,因此它被打印在控制台上。
为了更清楚,您可以像这样传递一个 lambda 而不是函数引用:
k.forEach{
println(it)
}
关于Kotlin-forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47074091/