Kotlin 基础知识积累

9.kotlin 内置函数

2020-06-10  本文已影响0人  ggghhhhhhhh

在kotlin中,有很多好用的内置函数,用好了可以大大提升开发效率,下面我们就来聊聊比较常用的那几个

1.let

1.1简介

//为了方便以下代码说明,统一声明类和变量

class Person(var name:String="lgh",var age:Int=18) {
    fun fun1(){ println("person fun1") }
    fun fun2(){ println("person fun2") }
    fun fun3(){ println("person fun3") }
}

var mVar:Person?=null

1.2 使用示例


//java中代码
if(mVar!=null){
    mVar.fun1();
    mVar.fun2();
    mVar.fun3();
}

//使用kotlin,不适用let
mVar?.fun1()
mVar?.fun2()
mVar?.fun3()

//使用kotlin,并且适应let
//统一判空处理 & 确定了mVar变量的作用域
mVar?.let{
    it.fun1()
    it.fun2()
    it.fun3()
}

2.also

2.1简介

作用: 类似于let ,区别至于返回值

2.2 示例

//let
val result =mVar?.let {
     it.fun1()
     it.fun2()
     it.fun3()
     100  //这个才是最终返回的
}
//let的最终返回结果 result = 100

//also
val result1 = mVar?.also {
      it.fun1()
      it.fun2()
      it.fun3()
      100
 }
//also 最终返回的result1 = mVar

3.with

3.1 简介

调用一个对象的多个方法或者属性时,可以省略掉重复的对象名,直接调用方法或者属性

3.2 示例

mVar=Person("lgh",18)

//java用法
println("name is "+mVar.name+",age is "+mVar.age)
mVar.fun1();
 
//kotlin 并且使用with
with(mVar){
     //在with内部可以直接调用Person的属性
     println("name is $name,age is $age")
     fun1() //可以直接调用Person内部的方法
}

4.run

4.1 简介

结合了let、with的作用

  1. 调用一个对象的多个方法或者属性时,可以省略掉重复的对象名,直接调用方法或者属性
  2. 定义一个变量在特定作用域内,统一做判空处理

4.2 示例

mVar?.run {//可以统一判空
     println("my name is $name,I am $age years old")//直接调用对象内部的属性
     fun1() //函数
}

5.apply

5.1 简介

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

5.2 示例

mVar= Person()
//run
val result=mVar?.run {
     println("my name is $name,I am $age years old")//直接调用对象内部的属性
     fun1() //函数
     100
}
//run函数 最终返回值 result=100

//apply
val result1=mVar?.apply {
     println("my name is $name,I am $age years old")//直接调用对象内部的属性
     fun1() //函数
     100
}
//apply函数最终返回值 result1=mVar

好了,以上就是kotlin常用的内置函数,看起来是不是很方便
最后来总结以下

6.总结

image.png
上一篇下一篇

猜你喜欢

热点阅读