Kotlin作用域函数

打印 上一主题 下一主题

主题 1268|帖子 1268|积分 3804

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在 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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表