[日更][18]-Kotlin
2023-08-28 本文已影响0人
代码多哥
因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:
为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址
https://kotlinlang.org/docs/home.html
十七, 函数-Lambda表达式
Kotlin允许您使用lambda表达式为函数编写更简洁的代码。例如,下面的uppercaseString() 函数:
fun uppercaseString(string: String): String {
return string.uppercase()
}
fun main() {
println(uppercaseString("hello"))
// HELLO
}
也可以写成lambda表达式:
fun main() {
println({ string: String -> string.uppercase() }("hello"))
// HELLO
}
Lambda表达式看起来可能很难理解,让我们将其分解来看看。Lambda表达式是用大括号{} 编写的。在lambda表达式中,您可以编写:
- 参数后面跟着一个 ->
- 将函数体写在 -> 后边
在前面的示例中:
- string是一个函数参数。
- string的类型为string。
- 该函数返回对传入的string调用.oppercase() 函数的结果。
如果您声明一个没有参数的lambda,那么就不需要使用->。例如:
{ println("Log message") }
Lambda表达式可以通过多种方式使用。您可以:
- 将lambda赋值给一个变量,然后您可以稍后调用该变量
- 将lambda表达式作为参数传递给另一个函数
- 从函数返回lambda表达式
- 单独调用lambda表达式
赋值给一个变量
要将lambda表达式分配给变量,请使用赋值运算符=
fun main() {
val upperCaseString = { string: String -> string.uppercase() }
println(upperCaseString("hello"))
// HELLO
}