匿名函数
fun main() {
val func = fun() {
println("匿名函数")
}
println(func())
val ageFun = fun(age: Int): String {
return "$age 岁"
}
println(ageFun(23))
}
匿名函数
kotlin.Unit
23 岁
匿名函数的类型
val func1: () -> Unit = fun() {
println("匿名函数的类型")
}
val ageFun1: (Int) -> String = fun(age: Int): String {
return "$age 岁"
}
- () -> Unit 指的是这个函数接收无参数,无返回类型
- (Int) -> String 指的是这个函数接收一个 Int 参数,返回 String 类型
Lambda
val funcLambda = {
println("Lambda 匿名函数")
}
val ageLambda = { age: Int ->
"byLambda $age 岁"
}
Lambda 参数省略形式
// Lambda参数省略形式
val ageLambda1: Function1<Int, String> = { age ->
"ageLambda1 = $age 岁"
}
- Function1 定义了入参和返回参类型,所有lambda { } 内可省略参数类型
val ageLambda2: Function1<Int, String> = {
"ageLambda2 = $it 岁"
}
- 只有一个入参时,可省略声明参数名称,直接使用内置关键字 it 表示入参变量