Let, Run, Apply 및 Kotlin도 지원
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:
Kotlin의 Lebih Dekat Dengan Lambda
alfianandinugraha ・ 2021년 9월 1일 ・ 1분 읽기
#kotlin
#lambda
#indonesia
허락하다
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)
}
}
하실 출력 :
Reference
이 문제에 관하여(Let, Run, Apply 및 Kotlin도 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alfianandinugraha/let-run-apply-also-di-kotlin-2inb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)