Perbedaan Apply, With, Run, Let, Also pada Kotlin

Silver Taurus

Perbedaan Apply, With, Run, Let, Also pada Kotlin

Halo sobat koding…

Kali ini gw mau bahas yang berbau 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.

Image for post

Run : fungsi ini mirip seperti with perbedaannya adalah run berupa dan with berupa normal function. Receiver (this) pada runakan berisikan object tersebut. Dan dalam run terdapat return value, run tidak mempunyai argument. Berikut output jika menggunakan run.

Image for post

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.

Image for post

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.

Image for post

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

Image for post

Berikut adalah ringkasan dari functionfunction yang gw jelasin sebelumnya.

Image for post

Nah gw sudah jelasin dari masing-masing function. Semoga bermanfaat untuk sobat koding semua.

Sekian dari gw ya, see you

Follow Digstraksi di Google News

Baca Juga

Rekomendasi