1. var
Mutable: Nilainya bisa diubah setelah inisialisasi.
Nilai ditentukan saat run-time.
Cocok digunakan untuk data yang memang akan sering berubah.
Contoh:
2. val
Immutable pada referensi: variabel hanya bisa di-assign sekali dan tidak bisa diarahkan ke objek lain.
Bisa mutable jika objek yang direferensikan mutable: isi dari objek tetap bisa diubah (contohnya
MutableList,MutableMap, atau class dengan propertivar).Nilai ditentukan saat run-time.
Setara dengan
finaldi Java.
Contoh immutable referensi:
Contoh mutable isi objek:
3. const val
Sama seperti
val(immutable), tetapi nilainya harus sudah diketahui saat compile-time.Hanya bisa digunakan untuk tipe primitif (
Int,Double, dll) atauString.Tidak bisa berasal dari fungsi atau konstruktor.
Deklarasi harus berada di level atas (top-level), atau di dalam
objectataucompanion object.Nilainya akan di-inline oleh compiler, sehingga meningkatkan performa dengan menghindari overhead akses variabel.
Contoh:
Pages
Links
