Kotlin 扩展函数
Kotlin 中的
apply
、let
等扩展函数是用于简化代码、提高可读性的常见工具。除了apply
和let
,还有一些其他的扩展函数,下面是其中几个:
-
apply:
-
apply
函数用于初始化对象的同时执行一系列操作,最终返回该对象。 -
使用场景:在对象的构建过程中对对象进行初始化,设置属性等。
-
用法:
kotlinCopy codeval person = Person().apply { name = "John" age = 30 }
-
-
let:
-
let
函数用于对一个非空对象执行操作,可以在 lambda 中使用 it 引用对象。 -
使用场景:在处理非空对象时进行操作,避免 null 检查。
-
用法:
kotlinCopy codeval result = someNullableObject?.let { // 对非空对象进行操作 it.doSomething() }
-
-
run:
-
run
函数类似于apply
,但是它返回 lambda 表达式的执行结果而不是对象本身。 -
使用场景:在代码块中执行一系列操作,并返回最后一个表达式的结果。
-
用法:
kotlinCopy codeval result = run { // 在代码块中执行一系列操作 val x = 5 val y = 10 x + y }
-
-
with:
-
with
函数与run
类似,但它不是扩展函数,而是一个顶层函数。 -
使用场景:在代码块中操作某个对象,返回最后一个表达式的结果。
-
用法:
kotlinCopy codeval result = with(someObject) { // 在代码块中执行一系列操作 val x = 5 val y = 10 x + y }
-
-
also:
-
also
函数类似于apply
,但它返回调用者对象而不是 lambda 表达式的结果。 -
使用场景:在执行一系列操作的同时保持原对象不变。
-
用法:
kotlinCopy codeval person = Person().also { it.name = "John" it.age = 30 }
-