【Kotlin】函数 ④ ( 匿名函数参数 | 匿名函数 it 关键字 )

2023-03-30 18:36:32 浏览数 (1)

文章目录

  • 一、匿名函数参数
  • 二、匿名函数 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 关键字 作为 参数名 ;

代码语言:javascript复制
fun main() {
    // 声明 函数类型 变量, 并为其赋值 匿名函数
    val helloFun: (Int)->String = {
        "Hello World $it"
    }

    // 调用该 (Int)->String 类型的匿名函数, 传入 Int 值作为参数
    println(helloFun(18))
}

执行结果 :

代码语言:javascript复制
Hello World 18

0 人点赞