IT评测·应用市场-qidao123.com技术社区

标题: Kotlin作用域函数 [打印本页]

作者: 梦应逍遥    时间: 2025-4-15 18:50
标题: Kotlin作用域函数
在 Kotlin 中,.apply 是一个 作用域函数(Scope Function),它允许你在一个对象的上下文中执行代码块,并返回该对象本身。它的设计目的是为了 对象初始化 或 链式调用 时保持代码的简便性和可读性。
  1. // 不使用 apply
  2. val textView = TextView(context)
  3. textView.text = "Hello"
  4. textView.textSize = 16f
  5. textView.setTextColor(Color.RED)
  6. // 使用 apply(更简洁)
  7. val textView = TextView(context).apply {
  8.     text = "Hello"  // 等价于 this.text = "Hello"
  9.     textSize = 16f
  10.     setTextColor(Color.RED)
  11. }
复制代码
在 Kotlin 中,.also 是一个 作用域函数(Scope Function),它允许你在不改变对象本身的情况下,对其执行额外的操作(如日记记录、验证等)。留意,.also 通过 it 引用对象,并终极返回对象本身。
  1. //与apply配合联用
  2. val user = User().apply {
  3.     name = "Alice"
  4.     age = 25
  5. }.also {
  6.     println("User created: $it")
  7. }
复制代码
  1. //与takeif或takeunless配合联用
  2. val validUser = user.also { println("原始用户: $it") }
  3.     .takeIf { it.age >= 18 }  // 仅保留成年人
  4.     ?.also { println("有效用户: $it") }
复制代码
 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4