Kotlin——高级篇(一):Lambda表达式详解

1255627-20180304230923361-401978309.png

经过前面一系列对Kotlin讲解,相信大家已经能对Kotlin有了一个基本的认识。如果你又Java语言方面的编程经验,你可能已经不满足前面的基础语法了。从这篇文章起,就为大家讲解Kotlin语言中的高级操作。
Lambda语法在Java中已经被广泛的运用,我们在开发Android中几乎上每一个项目也会在项目中接入Lambda插件,因为Lambda确实能简少很多的代码量。无独有偶,在Kotlin中也是Lambda语法的,在这篇文章中就详细的为大家讲解Lambda语法的编写与使用,同时会后面的Kotlin——高级篇(二):高阶函数详解与标准的高阶函数使用打下基础。

目录

1255627-20180326000434336-2126139992.png

一、Lambda介绍

在上面已经提到了在Java中已经被广泛的运用,但是也是在Java8的时候才支持这种Lambda表达式。在其他的编程语言中(例如:Scala语言)。而这种表达式是语法糖中的一种。值得庆幸的是,Kotlin一经开源成熟就已经支持这种语法。

Lambda表达式的本质其实是匿名函数,因为在其底层实现中还是通过匿名函数来实现的。但是我们在用的时候不必关心起底层实现。不过Lambda的出现确实是减少了代码量的编写,同时也是代码变得更加简洁明了。
Lambda作为函数式编程的基础,其语法也是相当简单的。这里先通过一段简单的代码演示没让大家了解Lambda表达式的简洁之处。

例:

// 这里举例一个Android中最常见的按钮点击事件的例子
mBtn.setOnClickListener(object : View.OnClickListener{
        override fun onClick(v: View?) {
            Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show()
        }
    })

等价于

// 调用
mBtn.setOnClickListener { Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show() }

二、Lambda使用

关于Lambda的使用,我这里从从来哪个方面讲解,一是先介绍Lambda表达式的特点,而是从Lambda的语法使用讲解。

2.1、Lambda表达式的特点

古人云:欲取之,先与之。

要学习Lambda表达式语法,必先了解其特点。我在这里先总结出Lambda表达式的一些特征。在下面讲解到Lambda语法与实践时大家就明白了。即:

  • Lambda表达式总是被大括号括着
  • 其参数(如果存在)在 -> 之前声明(参数类型可以省略)
  • 函数体(如果存在)在 -> 后面。
2.2、Lambda语法

为了让大家彻底的弄明白Lambda语法,我这里用三种用法来讲解。并且举例为大家说明

语法如下:

    1. 无参数的情况 :
    val/var 变量名 = { 操作的代码 }

    2. 有参数的情况
    val/var 变量名 : 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值