美文网首页kotlin
15. Lamda表达式

15. Lamda表达式

作者: 厚土火焱 | 来源:发表于2017-11-14 13:21 被阅读233次

Lamda表达式写起来可以让代码很简单。
以两个数字求和为例

fun sum(args1: Int, args2: Int):Int {
    return args1 + args2
}
val sum2 = {arg1: Int, arg2: Int -> arg1 + arg2}

上面的代码一个是普通的函数,一个是Lamda表达式。它们的调用方式是完全相同的。

    sum(3, 5)
    sum2(3, 5)

Lamda表达式也可以写成多行

val printhello = {
    println("Hello")
}

调用方法如下

printhello()

再看 sum2 的花括号内,里面参数都有声明。其实,如果只有一个参数的话,这个参数声明都是可以省掉的。
在具体的语句中,使用 it 替代。

args.forEach{println(it)}

神奇的 Lamda 还可以更简化一下

args.forEach(::println)

上面 2 条语句的效果是一样的,都是打印出所有的参数来。然后我们利用 Lamda 的特点,给出了代码。
这个对应我们常见的代码是这样的

    for (i in args){
        println(i)
    }

使用 Lamda 表达式的写法,我们还可以写成相近的代码

    args.forEach ForEach@{
        if (it == "i") return@ForEach
        println(it)
    }

你看,这样就方便在其中添加业务逻辑了。而 ForEach@ 是标签。在遍历中,当达到条件时,使用 return 跳出标签。
综上所述,我们知道
Lamda 表达式是匿名函数

相关文章

  • Java8 One---- Lamda表达式

    1 Lamda表达式 lamda表达式构成, 参数,箭头,方法体.为什么使用lamda表达式, 最只直观的就是简洁...

  • 15. Lamda表达式

    Lamda表达式写起来可以让代码很简单。以两个数字求和为例 上面的代码一个是普通的函数,一个是Lamda表达式。它...

  • JDK1.8之Lamda表达式(匿名内部类优化)

    1.Lamda表达式的作用 例如一个匿名内部类的使用,使用Lamda表达式可以简化。 图一Lamda表达式和图二的...

  • Java8(二)之走进Stream

    本篇文章是基于上一篇Lamda表达式的基础上的内容,因为其中涉及了较多的Lamda语法。如果对于Lamda表达式没...

  • 函数式编程

    Lamda表达式 从JDK1.8开始为了简化使用者进行代码的开发,专门提供有Lamda表达式的支持,利用此操作形式...

  • Java8教程

    本次只讲三个东西,Lamda表达式、函数引用、函数式接口。 一、Lamda表达式 也就是说以前需要用匿名实现类来做...

  • Lamda 表达式作用域(Lambda Scopes)

    Lamda 表达式作用域(Lambda Scopes) 访问局部变量 我们可以直接在 lambda 表达式中访问外...

  • Java8新特性

    1.Lamda表达式 Lambda表达式的作用主要是用来简化接口的创建,使用Lambda表达式接口必须是函数式接口...

  • Lamda表达式

    转自:https://www.cnblogs.com/hyyq/p/7425666.html 基础介绍 Lamda...

  • lamda表达式

    // 2. 接收一个参数(数字类型),返回其2倍的值x -> 2 * x // 3. 接受2个参数(数字),并返回...

网友评论

    本文标题:15. Lamda表达式

    本文链接:https://www.haomeiwen.com/subject/sybxvxtx.html