Kotlin 常用函数记录

本文详细介绍了Kotlin中的高级函数let、with、run和apply的使用,包括它们的作用、示例及应用场景。let函数用于配合?.操作符处理空值,with简化连续调用同一对象的方法,run和apply类似但run不指定返回值,apply则返回调用对象本身。示例中展示了如何在字符串处理和Android活动中应用这些函数,提高代码的简洁性和可读性。

let 函数

作用:主要用于配合?.操作符进行判空操作

例子:

//定义一个接口
interface Study {
    fun readBook();
    fun isHome(): Boolean;
} 
//it关键字表当前一个参数(当只有一个参数使用it指即可)
fun testLet(study: Study) {
	//直接判空在当前Lambda表达式中会持有Study对象故也可用it来指代stduy
	study?.let{
		study.readBook();
		study.isHome();
	}
}

with 函数

作用:它可以在连续调用同一个对象的多个方法时让代码更简洁

例子:

val list = listOf("Aaa","Bbb","Ccc")
//with 函数中传入了StringBuilder 对象故整个Lambda表达式中会持有这个对象并将表达式最后一行作为返回值
val result = with(StringBuilder()){
	append("start print")
	for (str in list){
		append(str).append("\n")
	}
	append("print done")
	toString()
}

run 函数

作用:run函数用法和场景与with类似但是语法略有不同

例子:

val list = listOf("Aaa","Bbb","Ccc")
// 只需在对象后调用run函数那么整个Lambda表达式就会持有此对象,同样最后一行也作为返回值
val result = StringBuilder().run {
	append("start print")
	for (str in list){
		append(str).append("\n")
	}
	append("print done")
	toString()
}

apply 函数

作用:apply函数和run函数也是类似都要在某个对象之后调用但是apply无法指定返回值,而是会自动的返回调用对象本身

例子:

val list = listOf("Aaa","Bbb","Ccc")

val result = StringBuilder().apply {
	append("start print")
	for (str in list){
		append(str).append("\n")
	}
	append("print done")
}

println(result.toString())
//使用apply函数进行Android Activity的启动
//此处只是展示了apply函数的基本用法 后续结合高阶函数可以实现更加通用的启动方法
val intent = Intent(context,OtherActivity::class).apply {
//如果有较多数据这样写就比较有优势了
	putExtra("flag","data")
}
context.startActivity(intent)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值