美文网首页
Kotlin学习笔记_函数篇(1)_具名函数和匿名函数

Kotlin学习笔记_函数篇(1)_具名函数和匿名函数

作者: 小O机 | 来源:发表于2020-12-28 20:16 被阅读0次

一. 具名函数

在定义时指定名字的函数,和java方法类似。具体写法如下

函数.png

例如:

private fun myFunction(a: Int, b: String): String {
    return "Welcome to Kotlin's World! $a, $b"
}

上面函数可以简化成单表达式函数,如下

private fun myFunction(a: Int, b: String): String =
    "Welcome to Kotlin's World! $a, $b"

二. 匿名函数

顾名思义,就是在定义时不取名字的函数,区别于具名函数
1. 写法:
{}中定义函数体,通过()调用,比如

// 定义
{
    "Welcome to Kotlin's World!"
}
// 调用
println({
    "Welcome to Kotlin's World!"
}())

匿名函数还可以带参数,写法如下

// 定义
{a: Int, b: String ->
    "Welcome to SimVillage, $a!(copyright $b)"
}
// 调用
println({a: Int, b: String ->
    "Welcome to SimVillage, $a!(copyright $b)"
}(2019, "Benny"))

注意,上面匿名函数的定义部分不能单独存在,匿名函数必须在调用它的函数中定义。
注意,匿名函数不支持参数默认值和具名函数参数。

2. 函数类型:
: Int表示变量存储的是哪种数据类型;
: () -> String表示变量存储的哪种类型(此处为无参,返回类型为String)的函数(如果没有返回值,用Unit代替String),比如

// 定义变量
val value: Int = 10

// 同样,定义函数类型变量
val myFunction: () -> String = {
    // code block
}

()中可以带参数,比如

val myFunction: (a: Int, b: String) -> String = { a: Int, b: String ->
    "Welcome to Kotlin's World, $b! In the year of $a"
}

上面带参匿名函数可以精简成下面的写法,其中a,b是对应Int和String类型的参数名

val myFunction: (Int, String) -> String = { a, b ->
    "Welcome to Kotlin's World, $b! In the year of $a"
}

如果匿名函数只带一个参数,可以用it关键字替代参数名,比如

val myFunction: (String) -> String = {
    "Welcome to Kotlin's World, $it!"
}

上面的例子中通过定义变量myFunction接收匿名函数,调用时直接使用变量就可以,写法和具名函数一样,比如

println(myFunction("Benny"))

3. 隐式返回
匿名函数一般不需要return关键字来返回数据,那么为了返回数据,匿名函数会隐式返回函数体最后一行语句的结果。

相关文章

  • Kotlin具名函数和匿名函数

    Kotlin具名函数和匿名函数 具体调用

  • JS函数

    1.如何定义一个函数 1.1定义具名函数 1.2定义匿名函数 上面的具名函数去掉函数名就是匿名函数 1.3定义箭头...

  • JS中的函数

    1. 函数的5种声明 具名函数 匿名函数 具名函数赋值 window.Function(全局函数) 箭头函数 2....

  • javascript---function

    创建函数的5中方式 1 具名函数 2 匿名函数 3 具名函数赋值 4 Function构造函数 window.Fu...

  • JavaScript中的作用域和闭包介绍

    一、匿名函数 声明一个没有函数名的函数,就是匿名函数,而有函数名的函数就是具名函数。匿名函数的常用情形:1、标签绑...

  • JS函数

    函数的5种声明 具名函数 匿名函数 具名函数赋值 window.Function 箭头函数 调用函数 f.call...

  • JS函数的name属性

    a)具名函数 b)匿名函数 c) d)Function全局函数

  • JS函数

    函数的5种声明 具名函数 匿名函数 具名函数赋给变量 window.Function 函数对象 箭头函数 函数的n...

  • javascript 函数的几种写法

    在JS中函数可以分为两种,具名函数(命名函数)和匿名函数。 1.函数声明 function aa() 最普通最标...

  • 27函数

    函数的 5 种声明 具名函数 匿名函数 具名函数赋值 箭头函数 面试会问:函数的name属性 如何调用函数 f.c...

网友评论

      本文标题:Kotlin学习笔记_函数篇(1)_具名函数和匿名函数

      本文链接:https://www.haomeiwen.com/subject/eahqoktx.html