修改引入,补充缺失细节
This commit is contained in:
+4
-14
@@ -665,6 +665,8 @@ val func: (Int, String) -> String = { number, text ->
|
||||
|
||||
`(Int, String) -> String` 表示:接收一个 `Int` 和一个 `String`,返回一个 `String`。
|
||||
|
||||
可以用 `::funcName` 把一个函数用作 lambda 变量。
|
||||
|
||||
### 高阶函数
|
||||
|
||||
如果函数的参数或返回值是函数,它就是高阶函数:
|
||||
@@ -804,20 +806,6 @@ val length = name!!.length
|
||||
|
||||
如果 `name` 真的是 `null`,这里会抛出异常。除非你非常确定,否则不要随便用 `!!`。
|
||||
|
||||
### let 处理可空值
|
||||
|
||||
`let` 可以让一段代码只在对象非空时执行:
|
||||
|
||||
```kotlin
|
||||
val name: String? = "Kotlin"
|
||||
|
||||
name?.let {
|
||||
println("长度是 ${it.length}")
|
||||
}
|
||||
```
|
||||
|
||||
如果 `name` 是 `null`,`let` 里面的代码不会执行。
|
||||
|
||||
### 安全转换
|
||||
|
||||
类型转换时,可以用 `as?`,转换失败会返回 `null`,而不是抛异常:
|
||||
@@ -916,6 +904,8 @@ println(copied) // User(id=1, name=Bob)
|
||||
|
||||
[目录](../README.md)
|
||||
|
||||
[先回顾所学内容:引入 Kotlin fast](./引入Kotlin_fast.md)
|
||||
|
||||
[下一篇:深入 Kotlin](./深入Kotlin.md)
|
||||
|
||||
[进入 KMP](./进入KMP.md)
|
||||
Reference in New Issue
Block a user