Kotlin Lambda语法 与 高阶函数

  • Java中开子线程的写法
void openThread() {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {

            }
        });
        thread.start();
    }
  • Kotlin省略写法
fun openThread() {
        val thread = Thread ({ -> Unit})
        thread.start()
    }
  • 无参数可省略箭头符号
fun openThread() {
        val thread = Thread ({ })
        thread.start()
    }
  • Kotlin Lambda 闭包
val echo = { name: String ->
        println(name)
    }
  • Lambda 闭包参数上限为22个

Kotlin的高阶函数

  • 高阶函数,指的是函数本身是一个Lambda表达式,参数又是一个Lambda函数的情况
/**
     * 高阶函数
     */
    fun onlyIf(isDebug : Boolean, block: () -> Unit) {
        if (isDebug) {
            block()
        }
    }
    
   onlyIf(true) {
            println("jia 高阶函数参数实现")
        }

你可能感兴趣的:(Kotlin Lambda语法 与 高阶函数)