Kotlin中apply和let的区别

目录

  • apply的用法
  • let的用法

apply的用法

class Student {
    var name: String? = null
    var age: Int? = null
}

fun main() {
    var s = Student().apply {
        name = "zhangjin"
        age = 20
    }
    println(s.name + " " + s.age)
}

输出结果如下:
Kotlin中apply和let的区别_第1张图片

let的用法

class Student {
    var name: String? = null
    var age: Int? = null

}

fun main() {
    var s = Student().let {
        it.name = "zhangjin"
        it.age = 20
    }
    println(s)

    var s2 = Student().let {
        it.name = "zhangjin"
        it.age = 20
        it.age
    }
    println(s2)

    var s3 = Student().let {
        it.name = "zhangjin"
        it.age = 20
        it
    }
    println(s3.name)
}

看下运行效果:
Kotlin中apply和let的区别_第2张图片
对于Unit不理解的,可以看这篇:Kotlin中的Unit。从运行结果,可以看出let把闭包中最后一行代码的返回值,赋值给var变量。

你可能感兴趣的:(Kotlin,kotlin,开发语言,android)