kotlin基础之let、also、with、run、apply

1、let的用法

1.1、let函数适用的场景
场景一: 最常用的场景就是使用let函数处理需要针对一个可null的对象统一做判空处理。
场景二: 然后就是需要去明确一个变量所处特定的作用域范围内可以使用

// 使用Java
if( mVar != null ){
    mVar.function1();
    mVar.function2();
    mVar.function3();
}

//使用kotlin
mVar?.let{
	it.function1();
	it.function2();
	it.function3();
}

2、also用法

// let函数
var result = mVar.let {
               it.function1()
               it.function2()
               it.function3()
               999
}
// 最终结果 = 返回999给变量result

// also函数
var result = mVar.also {
               it.function1()
               it.function2()
               it.function3()
               999
}
// 最终结果 = 返回一个mVar对象给变量result

3、with函数用法

3.1 作用
调用同一个对象的多个方法 / 属性时,可以省去对象名重复,直接调用方法名 / 属性即可

3.2 应用场景
需要调用同一个对象的多个方法 / 属性

3.3 使用方法

with(obj){
  //TODO 
}

3.4 例子

//kotlin
val person = Person("chenjk","27")
with(person){
	println(""my name is $name, i am $age years old)
}

//java
Person person = new Person("chenjk","27")
System.out.println("my name is" + person.name + ",i am "+person.age  )

4、run函数

结合let函数和with函数
即:
1、调用同一个对象的多个方法 / 属性时,可以省去对象名重复,直接调用方法名 / 属性即可
2、定义一个变量在特定作用域内
3、统一做判空处理

//kotlin
val people = People("cjk",25)
people?.run{
	printlin("my name is $name,i am $age years old")
}

5、apply函数

5.1 作用&应用场景

与run函数类似,但区别在与返回值:

  • run函数返回最后一行的值/表达式
  • apply函数返回传入的对象本身

5.2 应用场景

对象实例初始化时需要对对象中的属性进行赋值&返回该对象

5.3 示例

//run
val people = People("cjk",25)
val result = people?.run{
	  println("my name is &name, I am &age years old")
	  999
}
//最终结果 = 返回999给变量result
//apply
val people = People("cjk",25)
val result = people?.apply{
	  println("my name is &name, I am &age years old")
	  999
}
//最终结果 = 返回一个people对象给变量result
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值