Kotlin中回调函数的使用示例

1.定义一个带有回调函数的测试类

class DataTest(var c: Int, var d: Int, ){
    var a = c
    var b = d
    var f1:((Int)-> Unit)?=null
    fun printSelf()
    {
        println("a=$a,b=$b")
        println("c=$c,d=$d")

        f1?.invoke(c)
    }
}

其中的f1即为一个回调函数,可以由外部调用者去实现。

var f1:((Int)->Unit))?=null

函数的类型需要使用括号将其包裹。

 f1?.invoke(c)

这句代码为类的内部调用。

2.外部实现回调函数

fun main(){
    var m = DataTest(c = 10, d = 11)
    m.f1 = {
        println("callback:${it}")
    }
    m.printSelf()
}

下面这句话为回调函数的外部定义。

m.f1 = {
        println("callback:${it}")
    }

3.显示结果

a=10,b=11
c=10,d=11
callback:10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lph009

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值