kotlin 函数引用

引言

先确认一下,什么叫做引用

java 复制代码
Object obj = new Object()	//这里的obj就是一个强引用

再确认一个结论: lambda 属于函数类型对象 。

Kotlin 复制代码
    fun methodResponseResult(msg: String , respo:(Int, String)->Unit){


    }


    fun  methodRespoResunt(type: Int ,msg: String){

    }

    fun main(){

        //函数引用
        // lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象(函数引用)
        methodResponseResult( "DDD" , :: methodRespoResunt)

    }

上面代码解释:

lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象。

概念

‌**Kotlin中的函数引用**‌

是指使用双冒号**::操作符来获取函数的引用。这种引用方式可以将函数作为参数**传递给其他函数,或者作为返回值类型。函数引用在Kotlin中非常有用,特别是在使用高阶函数时,因为它允许将函数作为数据传递和处理。

:: 使用

::是一个操作符,它可以用来引用函数、属性或构造函数。

引用函数:可以使用::操作符来引用一个函数。

引用属性:可以使用::操作符来引用一个属性。

引用构造函数:可以使用::操作符来引用一个构造函数。

引用成员函数或成员属性:可以使用::操作符来引用一个类的成员函数或成员属性。例如,myClass::myFunction可以用来引用一个名为myFunction的类成员函数。

要注意的是,::操作符只能用于引用已存在的函数、属性或构造函数,不能用于创建新的函数或属性。

相关推荐
我要神龙摆尾20 分钟前
约定俗成的力量--java中泛型的意义和用法
java·开发语言
漂洋过海的鱼儿25 分钟前
Qt-界面子类(1)
开发语言·qt
C++ 老炮儿的技术栈26 分钟前
不调用C++/C的字符串库函数,编写函数strcmp
c语言·开发语言·c++·人工智能·windows·git·visual studio
幸福的达哥30 分钟前
Python多线程、多进程、协程、锁、同步、异步的详解和应用
开发语言·python
Hgfdsaqwr34 分钟前
内存泄漏检测与防范
开发语言·c++·算法
熬夜敲代码的小N42 分钟前
Python基础入门:环境配置全指南+核心语法解析
开发语言·python
嫂子开门我是_我哥43 分钟前
第十八节:项目实战2:简易通讯录(面向对象+文件持久化实现)
开发语言·python
MediaTea1 小时前
Python:_sentinel 命名约定
开发语言·python·sentinel
茉莉玫瑰花茶1 小时前
C++17 详细特性解析(中)
开发语言·c++
shehuiyuelaiyuehao1 小时前
String的杂七杂八方法
java·开发语言