Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
println之前的双冒号在kotlin中是什么意思_Kotlin - Fatal编程技术网

println之前的双冒号在kotlin中是什么意思

println之前的双冒号在kotlin中是什么意思,kotlin,Kotlin,在下面的Kotlin代码中,println前面的双冒号是什么意思 class InitOrderDemo(name: String) { val firstProperty = "First property: $name".also(::println) } 代码打印: 第一物业:您好 From:表示: 创建成员引用或类引用 在您的示例中,它是关于成员引用的,因此您可以将一个函数作为参数传递给另一个函数(aka) 如输出中所示,您可以看到也使用字符串值调用了println,因此也函数在

在下面的Kotlin代码中,println前面的双冒号是什么意思

class InitOrderDemo(name: String) {
   val firstProperty = "First property: $name".also(::println)
}
代码打印:

第一物业:您好

From
表示:

创建成员引用或类引用

在您的示例中,它是关于成员引用的,因此您可以将一个函数作为参数传递给另一个函数(aka)

如输出中所示,您可以看到
使用字符串值调用了
println
,因此
函数在调用
println
之前可能会检查一些条件或进行一些计算。 您可以使用(您将获得相同的输出)重写示例:

您也可以编写自己的函数以接受另一个函数作为参数:

class InitOrderDemo(name: String) {
    val firstProperty = "First property: $name".also(::println)
    fun andAlso (block : (String) -> Int): Int{
        return block(firstProperty)
    }
}

fun main(args : Array<String>) {
    InitOrderDemo("hello").andAlso(String::length).also(::println) 
}
类InitOrderDemo(名称:String){
val firstProperty=“第一个属性:$name”。另外(::println)
fun和also(块:(字符串)->Int):Int{
返回块(firstProperty)
}
}
趣味主线(args:Array){
InitOrderDemo(“hello”).andAlso(字符串::长度)。也(::println)
}
将打印:

第一物业:您好

二十一,

将块
(T)->单元
将对
println
的引用作为可调用项传递,而不是写出lambda
{println(it)}
。它是一个。
class InitOrderDemo(name: String) {
    val firstProperty = "First property: $name".also(::println)
    fun andAlso (block : (String) -> Int): Int{
        return block(firstProperty)
    }
}

fun main(args : Array<String>) {
    InitOrderDemo("hello").andAlso(String::length).also(::println) 
}