采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
fun main() { // 下述代码没有报错 val funcRef = ::add funcRef.invoke(1, 2) // 下述代码报错 add.invoke(1, 2) } fun add(a: Int, b: Int) = a + b
懂了,funRef 是 Function2 类的对象,invoke 则是函数类的方法。
对。add 是函数名,不是函数引用,如果使用函数名调用函数,就直接 add(1, 2) 就行了。这个跟 C/C++ 当中还是不一样的,C/C++ 当中的函数名可以当成函数地址去用,Kotlin 当中不行。
登录后可查看更多问答,登录/注册
如果有一门语言可以取代Java,那么它一定是Kotlin。
1.5k 4
1.5k 1
366 1
149 20
1.3k 16