Kotlin的Lambda表达式小结
2017-09-18 09:50
246 查看
1.Lambda表达式就是匿名函数,Lambda表达式返回值是最后一行内容的返回值。
fun main(args: Array<String>) { sum(1, 2) //括号是运算符,等价于invoke sum.invoke(1, 2) } val sum = {param0: Int, param1: Int -> param0 + param1}2.Lambda表达式也具有类型,类型表现形式与参数、返回值类型有关,类型是定义过的23种Function接口类型,具体可通过打印函数来查看。3.当Lambda表达式作为函数的参数时几种语法示例:
fun main(args: Array<String>) { //forEach是一个扩展函数,参数是一个Lambda表达式 args.forEach({ arg -> println(arg) }) //Lambda表达式只有一个参数时可以直接使用it表示 args.forEach({ println(it) }) //函数的最后一个参数是Lambda表达式,可以把Lambda表达式移到函数的括号外面 args.forEach() { println(it) } //把Lambda表达式移到函数的括号外面以后如果没有别的参数,括号也可省略 args.forEach { println(it) } //如果函数实参Lambda表达式恰好能与形参Lambda表达式类型匹配 //比如forEach的形参Lambda是(T) -> Unit,本示例实参传入的Lambda是(Any?) -> Unit //小括号内可以直接传入函数名,匿名函数传函数引用,具名函数名字前加:: args.forEach(::println) args.forEach(showStr) }
val showStr = { str: String -> println(str) }
相关文章推荐
- Kotlin学习(十二): 函数、高级函数和Lambda表达式
- kotlin学习之自定义lambda表达式----简单易懂教你写一个可以接受lambda表达式的函数
- Kotlin笔记(八)Lambda表达式
- Python中defaultdict与lambda表达式用法实例小结
- Kotlin 高阶函数 与 Lambda 表达式
- Kotlin 第十五章:高阶函数和 Lambda 表达式
- Kotlin中的函数和Lambda表达式
- kotlin入门(九)Lambda表达式
- Kotlin编程之高阶函数,Lambda表达式,匿名函数
- Kotlin——程序的灵魂组成之Lambda表达式、匿名函数、高阶函数的基本语法(二)
- 详解Kotlin 高阶函数 与 Lambda 表达式
- Kotlin Reference (十六) 函数和lambda表达式:内联函数、内联属性
- Kotlin高阶函数及Lambda表达式解析
- Kotlin语法(十八)-高阶函数和Lambda表达式
- Kotlin Reference (十五) 函数和lambda表达式:普通函数和高阶函数
- 《转》Kotlin开发安卓APP笔记-函数和lambda表达式(3)
- Kotlin函数与Lambdas(二)--- 高阶函数和 lambda 表达式
- Kotlin官方参考整理——04.函数和lambda表达式
- Java8新特性小结-接口与Lambda表达式
- Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)