Let, Run, Apply 및 Kotlin도 지원

7894 단어 indonesiaoopkotlin
Fungsi dari 범위 기능 adalah untuk mengelola object menggunakan lambda/fungsi ekstensi. Kegunaan ini adalah agar kode mudah dibaca karena memiliki scope masing-masing. Buat kode class terlebih dahulu untuk nanti dipakai lagi :

data class Product (
    var name: String,
    var price: Int
)

제니스제니스



Perlu diingat bahwa materi ini akan berkaitan erat dengan lambda bagi kamu yang belum tau apa itu lambda silahkan cek disini yaa:





허락하다



Let lambda memungkinkan untuk mengelola object sekaligus mengembalikan sesuatu. let juga memiliki satu parameter yang nantinya juga bisa dialiaskan dengan 키워드 it . 콘토 코드 :

fun main() {
    val asus = Product("Asus", 6_000_000)

    val description: String = asus.let { product ->
        println(product.name)
        println(product.price)
        "Name ${product.name}, Price: Rp${product.price}"
    }

    println(description)
}


하실 출력 :

운영



Lambda ini hampir mirip dengan let yang membedakan adalah lambda ini tidak memiliki parameter jadi untuk mengakses objectnya menggunakan 키워드 this . 콘토 코드 :

fun main() {
    val lenovo = Product("Lenovo", 3_000_000)

    val description: String = lenovo.run {
        println(this.name)
        println(this.price)
        "Name ${this.name}, Price: Rp${this.price}"
    }

    println(description)
}


하실 출력 :

또한



또한 memiliki 1 parameter dan mengembalikan nilai object itu sendiri. 콘토 :

fun main() {
    val msi = Product("MSI", 5_000_000)

    val newMsi: Product = msi.also { product ->
        println(product.name)
        println(product.price)
    }
}


하실 출력 :

적용하다



Berbeda dengan sebelumnya, apply hanya mengembalikan nilai Object itu sendiri saja dan tidak memiliki paramater. Jadi untuk mengakses property nya menggunakan 키워드 this
fun main() {
    val hp = Product("HP", 4_000_000)

    val newHp: Product = hp.apply {
        println(this.name)
        println(this.price)
    }
}


하실 출력 :

좋은 웹페이지 즐겨찾기