Kotlin 作用域函数

2024-01-07 19:29:41

作用域函数(Scope Functions)

函数参数返回值说明
letitlambda result非空对象执行代码块
applythis上下文对象用于对象配置操作
alsoit上下问对象执行额外操作
runthislambda result用于对象配置和计算结果
withthislambda result非扩展函数,配置和计算

takeIf 和 takeUnless

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

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

例子:

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

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

文档

文章来源:https://blog.csdn.net/w709835509/article/details/135442652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。