alfianandinugraha
Posted on September 1, 2021
Lambda disebut juga sebagai anonymous function, karena sifatnya yang tidak perlu mendeklarasikan fungsi. Perbedaan function dengan lambda adalah lambda langsung mengembalikan nilai tanpa perlu menggunakan keyword return. Contoh kode:
fun main () {
val sayHello = { name: String -> "Hello, I'm $name" }
println(sayHello("Andi")) // output : "Hello, I'm Andi"
}
Penulisan lambda juga bisa ditaruh di luar fungsi main. Karena lambda ini tidak perlu menggunakan return maka cara untuk membuat multilinenya adalah
fun main() {
val add = { num1: Int, num2: Int ->
val result = num1 + num2
result
}
println(add(5, 2)) // output : 7
}
Keyword it
It akan merujuk kepada parameter yang hanya berjumlah satu. Contoh :
fun main() {
// val getMessage: (String) -> String = { name: String -> "Hello from $name" }
val getMessage: (String) -> String = { "Hello from $it" }
val message: String = getMessage("Andi")
print(message) // output : Hello from Andi
}
Pada contoh diatas untuk membuat lambda getMessage
bisa menggunakan kode :
val getMessage: (String) -> String = { name: String -> "Hello from $name" }
Tapi karena lambda ini hanya memiliki satu parameter saja yaitu name
maka parameter bisa dihapus lalu untuk memanggil parameternya cukup menggunakan keyword it
.
val getMessage: (String) -> String = { "Hello from $it" }
Syarat untuk menggunakan keyword it adalah
- Parameter harus ada satu dan tidak boleh lebih
- Harus mendeklarasikan tipe datanya, pada contoh tipe data pada
getMessage
adalah(String) → String
Empty Parameter
Lambda bisa dibuat tanpa menggunakan parameter. Contohnya :
fun main() {
val sayHi = { "Hi world !" }
println(sayHi()) // output : Hi world !
}
Posted on September 1, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.