簡體   English   中英

科特林-forEach

[英]Kotlin - forEach

我是科特林的初學者。 您如何解釋以下代碼片段?

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) ::引入了對此函數的函數引用 每個元素都作為參數messageprintln ,因此將其打印在控制台上。

為了更加清楚,您可以傳遞lambda而不是像這樣的函數引用:

k.forEach{
   println(it)
}

內聯樂趣Iterable.forEach(action:(T)-> Unit)

public inline fun Iterable.forEach(action:(T)-> Unit):Unit {代表(此元素)action(element)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM