Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 28, 2021 11:15 am GMT

Let, Run, Apply, & Also di Kotlin

Fungsi dari scope function 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)

Jenis-jenis

Let

Let lambda memungkinkan untuk mengelola object sekaligus mengembalikan sesuatu. Let juga memiliki satu parameter yang nantinya juga bisa dialiaskan dengan keyword it. Contoh kode :

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)}

Hasil output :
image

Run

Lambda ini hampir mirip dengan let yang membedakan adalah lambda ini tidak memiliki parameter jadi untuk mengakses objectnya menggunakan keyword this. Contoh kode :

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)}

Hasil output :
image

Also

Also memiliki 1 parameter dan mengembalikan nilai object itu sendiri. Contoh :

fun main() {    val msi = Product("MSI", 5_000_000)    val newMsi: Product = msi.also { product ->        println(product.name)        println(product.price)    }}

Hasil Output :
image

Apply

Berbeda dengan sebelumnya, apply hanya mengembalikan nilai Object itu sendiri saja dan tidak memiliki paramater. Jadi untuk mengakses properti nya menggunakan keyword this

fun main() {    val hp = Product("HP", 4_000_000)    val newHp: Product = hp.apply {        println(this.name)        println(this.price)    }}

Hasil Output :
image


Original Link: https://dev.to/alfianandinugraha/let-run-apply-also-di-kotlin-2inb

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To