[日更][20]-Kotlin

2023-08-30  本文已影响0人  代码多哥

因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:

一路向下之AOSP研究

为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址

https://kotlinlang.org/docs/home.html

十九, 函数-Lambda表达式-函数类型

在从函数返回lambda表达式之前,首先需要了解函数类型。
您已经了解了基本类型,但Kotlin中函数本身也有一个类型。Kotlin的类型推断可以从参数类型推断出函数的类型,但有时可能需要显式指定函数类型。编译器需要函数类型,这样它才能知道该函数允许做什么和不允许做什么。
函数类型的语法包括:

val upperCaseString: (String) -> String = { s -> s.uppercase() }

fun main() {
    println(upperCaseString("hello"))
    // HELLO
}

如果lambda表达式没有参数,则括号()为空。例如:()-> Unit

必须在lambda表达式中或作为函数类型声明参数和返回类型。否则,编译器将无法知道lambda表达式的类型。
例如,以下方式是不能工作的:

val upperCaseString ={ str -> str.uppercase() }

上一篇 下一篇

猜你喜欢

热点阅读