Kotlin 作用域函数

作用域函数(Scope Functions)

函数 参数 返回值 说明
let it lambda result 非空对象执行代码块
apply this 上下文对象 用于对象配置操作
also it 上下问对象 执行额外操作
run this lambda result 用于对象配置和计算结果
with this lambda result 非扩展函数,配置和计算

takeIf 和 takeUnless

  • takeIf 满足条件返回对象,否则返回 null
  • takeUnlesstakeIf 相反,满足条件返回 null,否则返回对象。

能很好地 链式调用,组合使用 作用域函数,很实用。

例子:

实现 匹配字符串 并打印 位置功能

str.indexOf(sub).takeIf {
    it >= 0 }?.let {
   
  println("start position: ${
     it}");
}

文档

相关推荐

  1. Kotlin 作用函数

    2024-01-07 20:36:03       68 阅读
  2. Kotlin 中的作用函数

    2024-01-07 20:36:03       60 阅读
  3. Kotlin 作用函数:理解 apply, let, 和 with

    2024-01-07 20:36:03       48 阅读
  4. Kotlin作用函数:let、also、run、apply、with

    2024-01-07 20:36:03       42 阅读
  5. Kotlin作用函数引发的遮蔽问题

    2024-01-07 20:36:03       31 阅读
  6. Kotlin->Kotlin协程作用

    2024-01-07 20:36:03       29 阅读
  7. 函数作用

    2024-01-07 20:36:03       38 阅读
  8. Kotlin 中的 also 和 run:选择正确的作用函数

    2024-01-07 20:36:03       54 阅读
  9. 函数的名称空间与作用

    2024-01-07 20:36:03       60 阅读

最近更新

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

    2024-01-07 20:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 20:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 20:36:03       82 阅读
  4. Python语言-面向对象

    2024-01-07 20:36:03       91 阅读

热门阅读

  1. js三个声明变量说明以及区别

    2024-01-07 20:36:03       60 阅读
  2. flink1.18.0 flink维表join新思路

    2024-01-07 20:36:03       66 阅读
  3. 【Github】上传代码

    2024-01-07 20:36:03       66 阅读
  4. redis

    redis

    2024-01-07 20:36:03      70 阅读
  5. 【题解】leetcode---69. x 的平方(二分查找入门)

    2024-01-07 20:36:03       58 阅读
  6. vue项目打包体积大优化之-productionSourceMap设置

    2024-01-07 20:36:03       63 阅读