我是Kotlin的初学者.你如何解释以下代码片段?
fun main(args: Array<String>) {
var k = listOf<Double>(1.2,77.8,6.3,988.88,0.1)
k.forEach(::println)
}
Run Code Online (Sandbox Code Playgroud)
运行正常,并提供列表,但有人可以帮助解释k.forEach(:: println)如何真正起作用?
forEach发生在每一个元素k,并没有什么可以指定它做的事.在您的示例中," what "参数是::println指stdlib函数println(message: Any).在::引入了函数引用这个功能.每个元素都作为参数message传递println,因此它将被打印在控制台上.
为了更清楚,你可以传递一个lambda而不是像这样的函数引用:
k.forEach{
println(it)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1498 次 |
| 最近记录: |