Kotlin 作用域函数:理解 apply, let, 和 with

Kotlin提供了几个作用域函数来优化和简化代码的结构。

本文将对比分析 apply, let, 和 with 三个函数。

一、对比分析:

  1. apply:在其接收者的上下文中执行代码块,并返回接收者对象
  2. let:在其接收者的上下文中执行代码块,并返回代码块的结果
  3. with:不是扩展函数,需要对象和代码块作为参数,并返回代码块的结果

二、使用场景:

  1. apply 使用场景:当需要初始化或配置对象并返回该对象时。适合链式调用。
val person = Person().apply {
    
    
    name = "Alice"
    age = 25
}
  1. let 使用场景:处理可空对象,并对其执行一系列操作后返回结果。适用于变换值或链式处理。
val personName = person?.let {
    
     
    it.processName()
    it.name // 返回值
}
  1. with 使用场景:当你有一个非空对象,并想在其上下文中执行多个操作时。适合对同一个对象执行多个操作。
val info = with(person) {
    
    
    printName()
    increaseAge()
    "Name: $name, Age: $age" // 返回值
}

猜你喜欢

转载自blog.csdn.net/qq_42751010/article/details/134815231