Halo sobat koding…
Kali ini gw mau bahas yang berbau kotlin nih… , jika kalian menggunakan bahasa kotlin pasti kalian tidak akan asing dengan fungsi apply, with, run, let, also.
Jadi apa itu apply, with, run, let, also ? dan apa perbedaannya ? Tapi sebelum itu dibawah ini ada source code yang akan kita gunakan untuk contoh. xxx
akan diubah sesuai function yg digunakan.
val str: String = "..."
val result = str.xxx{
println(this) // Receiver
println(it) // Argument
42 // Block return value
}
Apply : fungsi ini mengembalikan object yang menggunakan fungsi tersebut. Receiver (this
) pada apply
akan berisikan object tersebut. Dalam apply
akan mem-block return value, apply
tidak mempunyai argument. Berikut ouput jika menggunakan apply.
Run : fungsi ini mirip seperti with
perbedaannya adalah run
berupa extension dan with
berupa normal function. Receiver (this
) pada run
akan berisikan object tersebut. Dan dalam run
terdapat return value, run
tidak mempunyai argument. Berikut output jika menggunakan run.
Let : fungsi ini dapat mengembalikan object yang berbeda dengan object yang menggunakan fungsi tersebut. Receiver (this
) pada let
akan berisikan instance Class tersebut. Argument(it
) pada let
akan berisikan object tersebut, dan dalam let
terdapat return value. Berikut output jika menggunakan let.

Also: fungsi ini mengembalikan object yang menggunakan fungsi tersebut. Receiver (this
) pada also
akan berisikan instance Class tersebut. Argument(it
) pada also
akan berisikan object tersebut, dan dalam also
mem-block return value. Berikut output jika menggunakan also.

With : fungsi ini dapat mengembalikan object yang berbeda dengan object yang menggunakan fungsi tersebut. Receiver (this
) pada with
akan berisikan object tersebut. Dan dalam with
terdapat return value. Dalam with
tidak mempunyai argument. Ada perbedaan pemakaian with
, with
berupa normal function. Berikut contoh pemakaiannya:
val str: String = "..."
val result = with(str){
println(this) // Receiver
println(it) // Argument
42 // Block return value
}
Nah dibawah ini output dari kode diatas

Berikut adalah ringkasan dari function–function yang gw jelasin sebelumnya.

Nah gw sudah jelasin dari masing-masing function. Semoga bermanfaat untuk sobat koding semua.
Sekian dari gw ya, see you