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" // 返回值
}

相关推荐

  1. Kotlin 作用函数理解 apply, let, with

    2023-12-05 20:54:03       49 阅读
  2. Kotlin作用函数:let、also、run、apply、with

    2023-12-05 20:54:03       44 阅读
  3. Kotlin 作用函数

    2023-12-05 20:54:03       68 阅读
  4. Kotlin 中的作用函数

    2023-12-05 20:54:03       61 阅读
  5. Kotlin 中的 also run:选择正确的作用函数

    2023-12-05 20:54:03       54 阅读
  6. Kotlin作用函数引发的遮蔽问题

    2023-12-05 20:54:03       31 阅读
  7. Kotlin->Kotlin协程作用

    2023-12-05 20:54:03       29 阅读
  8. 函数作用

    2023-12-05 20:54:03       38 阅读
  9. C语言初学8:函数作用

    2023-12-05 20:54:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 20:54:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 20:54:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 20:54:03       82 阅读
  4. Python语言-面向对象

    2023-12-05 20:54:03       91 阅读

热门阅读

  1. 设计模式 -职责链模式

    2023-12-05 20:54:03       59 阅读
  2. 9-MapReduce开发技术

    2023-12-05 20:54:03       40 阅读
  3. php获取时间和MongoDB保存时间不一致

    2023-12-05 20:54:03       50 阅读
  4. [Tricks] 记各类欧拉回路问题

    2023-12-05 20:54:03       48 阅读