对Lambda函数理解

Lambda 其实就是一种函数的简单写法,不管写的多复杂,首先他是一个函数,传参给这个函数,这个函数就会进行相应的操作或者给出相应的返回值

理解哪些是Lambda的参数,哪些是返回值,逐层查看

首先展示一个函数:

val method15: (String) -> (Int)  -> String   = { str: String  ->
   { n1:Int->
        "$str,$n1,test"
    }
}

这个函数的第一个参数是一个函数,它的参数是 (String),调用后,返回一个函数,这个新的函数是
(Int) -> String 类型的函数,可以继续调用
所以,该方法的调用方法如下:

println(method15("derry")(14))
println(method15("String")(166))

输出结果:
在这里插入图片描述

在这里写一个结论:
一个kotlin的参数是链式的时候
可以链式调用
如:

val method16: (String) ->(String) ->(String) ->(String) -> (Int)  -> String   = { str1: String  ->
        { str2: String  ->
            { str3: String  ->
                { str4: String  ->
                    { n1:Int->
                        "$str1,$str2,$str3,$str4,$n1,test"
                    }
                }
            }
        }
    }
    println(method16("derry1")("derry2")("derry3")("derry4")(14))
    println(method16("test1")("test2")("test3")("test4")(14))

调用结果:
在这里插入图片描述
一一对应在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值