java中的函数就是方法,可是Kotlin中还有函数表达式,函数表达式和函数一样经过一系列计算得到一个结果。
例:一个加法运算
//函数1
fun maxAdd(a: Int, b: Int): Int {
return a + b
}
//函数2:如果只有一行代码可以这么写
fun maxAdd2(a: Int, b: Int): Int = a + b
fun test() {
//函数表达式1:
var i = { x: Int, y: Int -> x + y }
var result = i(3, 5);
//函数表达式2:
var i2: (x: Int, y: Int) -> Int = { x, y -> x + y }
var result2 = i2(3, 5)
}
这俩面的 函数1 、函数2、函数表达式1、函数表达式2 都是等价的,代表的都是一个意思。
总结
1.如果一个函数里面只有一条语句就可以像函数2一样写
(1)fun (参数1,参数2) :返回类型=函数体
2.函数也可以写成函数表达式 1和2 ,函数表达式有点类似于C的函数指针
(1)变量={参数1,参数2 -> 函数体}
(2)变量:(参数1,参数2)->返回类型=lambda表达式
3.不管是函数表达式还是函数他们的调用方法都是一样的
函数名(参数1,参数2)
网友评论