gpt4 book ai didi

kotlin - 在Lambda中调用函数与函数引用之间的区别

转载 作者:行者123 更新时间:2023-12-02 12:52:47 26 4
gpt4 key购买 nike

在以下代码中(在Kotlin中)

fun greet(){
print("Hello! ")
}
fun salute(){
print("Have a nice day ")
}


fun main(args: Array<String>){

//val todoList: List<()->Unit> = listOf(::greet,::salute)
val todoList: List<()->Unit> = listOf({greet()},{salute()})

for(task in todoList){
task()
}
}

使用现在注释的第一种方法(函数引用)与使用第二种方法(仅在lambda中调用函数)的意义何在?

到目前为止,结果都显示“Hello!祝你有美好的一天”

最佳答案

enter image description here

您可以根据自己的想法检查签名。

::是反射(reflect)从方法获取KFunction类型的操作

val f2 = {greet()}是:您创建一个新的lambda语句
喜欢

() ->  () -> Unit  

然后叫内陆λ

关于kotlin - 在Lambda中调用函数与函数引用之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57086389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com