Kotlin – forEach

我是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)真的工作?

2 Solutions collect form web for “Kotlin – forEach”

forEachk每个元素都做了,并且做了你所说的。 在你的例子中,“what”参数是::println ,它引用了stdlib函数println(message: Any)::引入了这个函数的函数引用 。 每个元素都作为参数messageprintln ,因此它被打印在控制台上。

为了使它更清楚,你可以传递一个lambda而不是函数引用,像这样:

 k.forEach{ println(it) } 

内联乐趣Iterable.forEach(action:(T) – > Unit)

public inline fun Iterable.forEach(action:(T) – > Unit):Unit {for(element in this)action(element)}

  • Kotlin java抽象类IllegalAccessError
  • 无法初始化Kotlin中的对话框中的按钮
  • Android Studio 3.0支持Kotlin:Activity as Context
  • RxJava 1.x .zip()不适用于RxJava 2.0
  • 将AutoCompleteTextView中的Observable更改为EditText
  • 修饰符“覆盖”不适用于“getter”
  • 如何访问Koltin中的静态伴侣对象的实例变量
  • 高效的地图和过滤器组合与stdlibs
  • 使用Kotlin自定义Android视图
  • Kotlin:列表中BigDecimal的和
  • Kotlin成员和扩展在同一时间
  • Kotlin language will be the best programming language for Android.