Kotlin匿名函数使用介绍

匿名函数:

1)匿名函数虽然没有名字,但是可以赋值给变量,这个变量的类型就是函数类型。就像其他变量赋值那样。

2)和具名函数不一样,匿名函数通常不需要return关键字返回数据。匿名函数会隐式的或自动返回最后一行代码的执行结果。

普通变量赋值:

1

val hello: String = "hello"

匿名函数赋值变量:

1

2

3

4

5

6

7

8

fun main() {

    //声明一个匿名函数,并赋值给变量sayHello

    val sayHello: () -> String = {

        "Hello world!"

    }

    //匿名函数调用

    println(sayHello())

}

3)匿名函数类型。

普通变量的类型在赋值时就指定了,或者通过类型推断,由编译器在编译器指定变量类型。

那么匿名函数的类型是啥,由啥决定?

匿名函数的类型是由参数和返回值决定的。

1

2

3

4

5

6

7

8

fun main() {

    //声明一个匿名函数,并赋值给变量sayHello

    val sayHello: () -> String = {

        "Hello world!"

    }

    //打印函数变量

    println(sayHello)

}

得到的结果是Function0<java.lang.String>

Function0:Function后的数字表示的是参数的个数,0表示无参,1表示一个参数,以此类推。

<java.lang.String> 表示的是匿名函数返回值类型。

5.匿名函数的参数

匿名函数可以不带参数,也可以带一个参数或多个参数。

需要带参数时,参数类型放在匿名函数的类型定义中“()”,参数名放在函数定义中“{}”。

1)一个参数的定义:

1

2

3

4

5

6

fun main() {

    val sayHello: (name: String) -> String = { name ->

        "Hello $name!"

    }

    println(sayHello("HanMei"))

}

当匿名函数的参数只有一个时,可以使用it关键字来表示参数名。当有多个参数时就不能使用了。

1

2

3

4

5

6

fun main() {

    val sayHello: (name: String) -> String = {

        "Hello $it!"

    }

    println(sayHello("HanMei"))

}

2)定义多个参数的匿名函数

1

2

3

4

5

6

fun main() {

    val sayHello: (String, Int) -> String = { name, age ->

        "Hello $name$age"

    }

    println(sayHello("HanMei",18))

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值