因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:
为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址
https://kotlinlang.org/docs/home.html
十九, 函数-Lambda表达式-函数类型
在从函数返回lambda表达式之前,首先需要了解函数类型。
您已经了解了基本类型,但Kotlin中函数本身也有一个类型。Kotlin的类型推断可以从参数类型推断出函数的类型,但有时可能需要显式指定函数类型。编译器需要函数类型,这样它才能知道该函数允许做什么和不允许做什么。
函数类型的语法包括:
- 每个参数的类型都写在括号()内,并用逗号分隔,
- 在->之后写入的返回类型。
例如:(String) -> String或(Int, Int)-> Int。
如果定义了upperCaseString的函数类型如(String) -> String ,lambda表达式就是这样的:
val upperCaseString: (String) -> String = { s -> s.uppercase() }
fun main() {
println(upperCaseString("hello"))
// HELLO
}
如果lambda表达式没有参数,则括号()为空。例如:()-> Unit
必须在lambda表达式中或作为函数类型声明参数和返回类型。否则,编译器将无法知道lambda表达式的类型。
例如,以下方式是不能工作的:
val upperCaseString ={ str -> str.uppercase() }
网友评论