高阶函数

能接收函数或者返回函数的函数又叫高阶函数,高阶函数广泛使用在函数式编程

函数类型: (参数类型,参数类型)->返回类型

闭包

lambda表达式

{参数名:参数类型,参数名:参数类型->函数体}
->可以将参数传递给函数体

标准函数

apply

配置函数,apply能让每个配置函数都作用于接收者,这种行为又叫作相关作用域,apply执行结束返回当前的接收者

let

let会把接收者传给lambda,let执行结束会返回lambda最后一行

run

run更apply相似单不返回接收者,run返回的是lambda的结果

with

run的变体,功能一样,但是with调用要传参数

  1. val result = with("2424") {
  2. contains("2")
  3. }

also

对同一个对象进行一系列的操作

takeIf

lambda结果为true返回接收者,false返回null

val result="99993".takeIf {
            it.length > 9
        }
        println(result)

takeUnless

与takeif相反