Kotlin学习日记(八)常见的高阶函数

本文详细介绍了 Kotlin 中 let、apply、run、with 和 repeat 几个常用函数的使用方法及区别。通过具体示例展示了如何利用这些函数进行简洁高效的编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重点介绍let,apply,run,with,repeat这几个。

let

默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行,或者指定return

"Hellow World".let {
        println(it)
        if(it.length > 5){
          println("太长了")
          return 1
        }else{
          println("短了")
          return 2 
        }
    }

apply

调用某对象的apply函数,在函数范围内,可以任意调用该对象的任意方法,并返回该对象

ArrayListL<String>.apply{
    add("1")
    add("666")
    println(this)
}

run

run函数和apply函数很像,只不过run函数是使用最后一行的返回,apply返回当前自己的对象。

var length = "Hellow World".run{
   concat("haha")                                                                                                           println(length())                                                                                                        length                                                                                                                }                                                                  

with

with函数是一个单独的函数,并不是Kotlin中的extension,所以调用方式有点不一样,返回是最后一行,然后可以直接调用对象的方法,感觉像是let和apply的结合。

with(textView){
  text = "666"
  textColor = Color.YELLOW
  textSize = sp(14f).toFloat()
}

repeat

传入一个Int型参数,根据参数在代码块内执行几次,参数是几就执行几次。

repeat(6){
  println("Hello World")
}

总结:
函数名定义block参数返回值extension
letfun T.let(f: (T) -> R): R = f(this)it闭包返回
applyfun T.apply(f: T.() -> Unit): T无,可以使用thisUnit
runfun T.run(f: T.() -> R): R无,可以使用thisAny
withfun with(receiver: T, f: T.() -> R): R = receiver.f()无,可以使用this闭包返回

repeat

fun repeat(times: Int, action: (Int) -> Unit)闭包返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值