kotlin函数式表达式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dpl12/article/details/79965617

kotlin函数式表达式:

单表达式函数:

当函数返回单个表达式时,可以省略花括号并且在 = 符号之后指定代码体即可

fun double(x: Int): Int = x * 2
Kotlin

当返回值类型可由编译器推断时,显式声明返回类型是可选的

fun double(x: Int) = x * 2

Lambda 表达式语法:

Lambda 表达式的完整语法形式,即函数类型的字面值如下:

val sum = { x: Int, y: Int -> x + y }
Kotlin

lambda 表达式总是被大括号括着,
完整语法形式的参数声明放在括号内,并有可选的类型标注,
函数体跟在一个 -> 符号之后。如果推断出的该 lambda 的返回类型不是 Unit,那么该 lambda 主体中的最后一个(或可能是单个)表达式会视为返回值。

如果我们把所有可选标注都留下,看起来如下:

val sum: (Int, Int) -> Int = { x, y -> x + y }

简单代码:

fun main(args: Array<String>) {
	var result=add(3,5)
	println(result)
	
	var i={x:Int,y:Int -> x+y}
	var result2 = i(3,5)
	println(result2)
	
	var j:(Int,Int) ->Int={x,y-> x+y}
	var result3 = j(3,5)
	println(result3)
}
fun add(x:Int,y:Int):Int=x+y

运行结果:

8
8
8


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页