FigoMager
2023-06-08
Duhh Gusti Scope Function ?? Apalagi itu
Halo guyss aku tau kamu pusing tentnag Scope Function? Tenang aku juga kok hehe. Walau pusing hayuk belajar bareng mengenai scope function di blog ini
Apa itu Scope Function ????
Singkatnya Scope Func itu adalah fitur bawaan dari kotlin yang memudahkan kita untuk melakukan operasi pada Data atau Objek.
Kenapa Pake Scope Func?? Nah jadi dengan scope function kita bisa mengakses dan memanipulasi data dengan code yang lebih ringkes, jadi ga perlu nulis ulang deh.
Macam Scope Function
Nah di kotlin ada 5 scope function yang bisa kita pake yaitu let, apply, run, also, dan with. Mari kita bahas satu per satu!
Let
: Scope Func ini dipake buat operasi pada data / objek. function ini memiliki parameter data/object itu sendiri, nah parameternya bisa kita akses pakeit
.
val waifu : String = "Miku Chann"
val length = waifu.let {
// Melakukan operasi pada var waifu untuk mendapatkan length
it.length
}
println(length) // output : 10
run
: Sama aja sii sama silet
cuman ga ada parameter di funtionnya jadi aksesnya pakaithis
bukan pakaiit
val angka : Int = 10
val length = angka.run {
// Melakukan operasi pada var angka supaya di kali 2
this * 2
println(length) // output : 20
with
: Sama kayak sirun
guys, cuman beda CARA PENULISAN ajahh
var waifu = "Homura Channn"
val length = with(waifu) {
// Mengakses lenght pada variable waifu
this.length
}
println(length) // output : 13
apply
: scope function ini kayak buat inisialisasi atau konfigurasi data / object pakai blok kode
val angka = mutableListOf(1, 2, 3, 4)
angka.apply{
// nambahin data ke array
this.add(2)
// remove data index pertama di array
this.removeAt(0)
}
println(angka) //output : [2, 3, 4, 2]
also
: Jujur aku gapaham banget, yang aku tau ini miriplet
tapi beda return valuenya. kaloalso
return valuenya object itu sendiri, bukan dari blok kode
var waifu = "Madoka"
val length = waifu.also {
// Mengakses lenght pada variable waifu
println("waifu saya ${it}")
}
println(length)
output :
waifu saya Madoka
Madoka
Nah biar paham ku kasih contoh case also
ga jalan
var waifu = "Madoka"
val length = waifu.also {
// Mengakses lenght pada variable waifu
it.length
}
println(length)
output :
Madoka
Dalam contoh kedua, ketika kita hanya akses panjang string tanpa melakukan action tambahan atau perubahan pada objek waifu, maka hasilnya tidak ada nilai yang dikembalikan, sehingga variabel length menjadi Unit.
Jadi, untuk memanfaatkan scope function also
dengan baik, pastikan melakukan tindakan tambahan yang relevan atau perubahan pada objek yang sedang diproses di dalam blok also
. Hal ini akan memastikan bahwa nilai yang dihasilkan memiliki arti yang sesuai.
Kesimpulan
Setelah kita bahas scope function di Kotlin, sekarang kamu lebih paham kan tentang bagaimana scope function dapat membantu kita dalam memanipulasi objek dan mengatur flow kode dengan lebih efisien. Scope function let
, apply
, run
, with
, dan also
memberikan fleksibilitas dan kekuatan dalam menangani objek dan operasi terkait.
Dengan menggunakan scope function yang tepat sesuai kebutuhan, kamu dapat meningkatkan kualitas kode, serta mempermudah pengelolaan objek. Yaudah gitu dulu aja guyss, aku tau kamu pusing tapi semangat belajarnya jangan menyerah