文章目录
- 一、匿名函数参数
- 二、匿名函数 it 关键字
一、匿名函数参数
匿名函数 可以不带参数 , 也可以带多个参数 ;
不带参数的匿名函数 :
代码语言:javascript复制 // 声明 函数类型 变量, 并为其赋值 匿名函数
val helloFun: ()->String = {
"Hello World"
}
带参数的匿名函数 : 匿名函数 的 参数类型 放在 函数类型 定义中 , 参数名 放在 函数体 内 ;
代码语言:javascript复制 // 声明 函数类型 变量, 并为其赋值 匿名函数
val helloFun: (Int)->String = { age ->
"Hello World $age"
}
上面的 匿名参数 , 函数类型 是 (Int)->String
,
函数类型 中 , 只有参数类型 , 没有参数名 ,
函数体中 age ->
中 age
就是对应的 Int 类型参数的 参数名 ,
函数体中 , 只有参数名 , 没有参数类型 ;
代码示例 :
代码语言:javascript复制fun main() {
// 声明 函数类型 变量, 并为其赋值 匿名函数
val helloFun: (Int)->String = { age ->
"Hello World $age"
}
// 调用该 (Int)->String 类型的匿名函数, 传入 Int 值作为参数
println(helloFun(18))
}
执行结果 :
二、匿名函数 it 关键字
如果 匿名函数 只有 1 个函数参数 , 在 匿名函数 的 函数体 中 , 可以 省略 函数名 声明 , 使用 it 关键字 代替 ;
代码示例 : 在下面的 匿名函数中 , 只有 一个 Int 类型的函数参数 , 在函数体中可以省略 age ->
参数名 声明 , 可以 使用默认的 it 关键字 作为 参数名 ;
fun main() {
// 声明 函数类型 变量, 并为其赋值 匿名函数
val helloFun: (Int)->String = {
"Hello World $it"
}
// 调用该 (Int)->String 类型的匿名函数, 传入 Int 值作为参数
println(helloFun(18))
}
执行结果 :
代码语言:javascript复制Hello World 18