Kotlin传递函数作为参数的方式

时间:2023-05-12 17:42:10

Kotlin传递函数作为参数,可以有:命名参数,位置参数以及在参数列表外,以lamba的形式传递。

示例

data class Person(val name: String,
                  val age: Int = 0,
                  val showMsg : (msg: String) -> Unit)

命名参数

val p = Person(name="张三", age=18, showMsg = ::println)

位置参数

val p = Person("张三", 18, {msg -> println(msg)})

在参数列表外

val p = Person(name = "张三", age = 18) { println(it) }

如果函数是作为最后一个参数,才可以在以lambda表达式的方式在参数列表外传递。

注意:命名参数和位置参数是不能混在一起使用。