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

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin函数 ④ ( 匿名函数参数 | 匿名函数 it 关键字 )相关的知识,希望对你有一定的参考价值。

文章目录





一、匿名函数参数



匿名函数 可以不带参数 , 也可以带多个参数 ;


不带参数的匿名函数 :

    // 声明 函数类型 变量, 并为其赋值 匿名函数
    val helloFun: ()->String = 
        "Hello World"
    

带参数的匿名函数 : 匿名函数参数类型 放在 函数类型 定义中 , 参数名 放在 函数体 内 ;

    // 声明 函数类型 变量, 并为其赋值 匿名函数
    val helloFun: (Int)->String =  age ->
        "Hello World $age"
    

上面的 匿名参数 , 函数类型 (Int)->String ,

函数类型 中 , 只有参数类型 , 没有参数名 ,

函数体中 age ->age 就是对应的 Int 类型参数的 参数名 ,

函数体中 , 只有参数名 , 没有参数类型 ;


代码示例 :

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))

执行结果 :

Hello World 18

以上是关于Kotlin函数 ④ ( 匿名函数参数 | 匿名函数 it 关键字 )的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 匿名扩展函数作为参数时的语义

Kotlin函数 ③ ( 匿名函数 | 匿名函数的函数类型 | 匿名函数的隐式返回 )

Kotlin 匿名扩展函数作为参数时的语义

每天学一点Scala之 匿名函数

深入kotlin - 匿名函数闭包和接收者

深入kotlin - 匿名函数闭包和接收者