使用 Kotlin 表达式

1.无参lambda表达式

val ordinary = {  println("这是一个普通的lmabda表达式") }

调用

/** main入口函数 **/
fun main(args: Array<String>) {
    ordinary()
}

输出

这是一个普通的lmabda表达式

2.有参lambda表达式

val  ordinary2 : (Int,Int) -> Int = {num,num2 ->  num+num2 }
    
val  ordinary3 = { num1:Int,num2:Int ->  num1+num2 }

调用

/** main入口函数 **/
fun main(args: Array<String>) {
     println(ordinary2(1,3))
 
     println(ordinary3(3,3))
}

输出

 4
 6

3.lambda表达式作为函数中的参数

invoke()函数:表示为通过函数变量调用自身

fun test(a : Int, ordinary4 : (num1: Int,num2: Int) -> Int){
    println(a+ordinary4.invoke(3,5))
}

fun test2(num1 : Int, bool : (Int) -> Boolean) : Int{
    return if (bool(num1)){ num1 } else 0
}

调用

/** main入口函数 **/
fun main(args: Array<String>) {
    test(10,{ num1: Int, num2: Int ->  num1 + num2 })

    println(test2(10,{it > 5}))
}

输出

 18
 10

转载于:https://www.jianshu.com/p/150be8e75371

猜你喜欢

转载自blog.csdn.net/weixin_34166847/article/details/91283104