val, var, dan Tipe
Binding dan inferensi.
val, var, dan Tipe adalah pelajaran Scala for Backend Engineering & Functional Programming gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Scala for Backend Engineering & Functional Programming, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.
Binding di Scala
Di Scala, Anda memberikan nama kepada nilai menggunakan binding. Dua kata kuncinya adalah val dan var.
val bersifat tidak dapat diubah (tidak dapat diberi nilai ulang), sedangkan var bersifat dapat diubah (dapat diberi nilai ulang).
Mendeklarasikan val
val mengikat sebuah nama ke suatu nilai satu kali. Mencoba memberikan nilai baru kepadanya akan menyebabkan kesalahan kompilasi.
Sebaiknya gunakan val secara default. Sifat tidak dapat diubah membuat kode lebih mudah dipahami.
object Main {
def main(args: Array[String]): Unit = {
val name = "Ada"
println(name)
}
}Mendeklarasikan var
var dapat diberi nilai baru menggunakan =. Gunakan hanya jika Anda benar-benar memerlukan keadaan yang dapat diubah.
Perhatikan bahwa nilai baru tersebut tetap harus sesuai dengan tipe awal.
object Main {
def main(args: Array[String]): Unit = {
var count = 0
count = count + 1
count = count + 1
println(count)
}
}Inferensi Tipe
Scala biasanya menentukan tipe untuk Anda. Penulisan val x = 42 secara otomatis menjadikan x bertipe Int.
Hal ini disebut inferensi tipe: Anda memperoleh pengetikan statis tanpa harus selalu menuliskan tipenya.
object Main {
def main(args: Array[String]): Unit = {
val x = 42
val pi = 3.14
val flag = true
println(x)
println(pi)
println(flag)
}
}Anotasi Tipe Eksplisit
Anda juga dapat menyatakan tipe secara eksplisit setelah titik dua: val x: Int = 42.
Ini berguna untuk dokumentasi atau untuk memilih tipe yang lebih luas daripada tipe yang disimpulkan.
object Main {
def main(args: Array[String]): Unit = {
val age: Int = 30
val price: Double = 9.99
val label: String = "Sale"
println(label + ": " + price)
}
}Tipe Numerik Umum
Scala memiliki beberapa tipe numerik:
Intuntuk bilangan bulatLonguntuk bilangan bulat besarDoubleuntuk bilangan desimalFloatuntuk bilangan desimal yang lebih kecil
Literal bilangan bulat secara default bertipe Int; literal desimal secara default bertipe Double.
object Main {
def main(args: Array[String]): Unit = {
val whole: Int = 7
val big: Long = 9000000000L
val dec: Double = 2.5
println(whole + dec)
}
}Boolean dan Char
Boolean menyimpan true atau false. Char menyimpan satu karakter yang ditulis dalam tanda petik tunggal.
Keduanya adalah tipe lengkap yang dapat Anda simpan dalam val dan var.
object Main {
def main(args: Array[String]): Unit = {
val isReady: Boolean = true
val grade: Char = 'A'
println(isReady)
println(grade)
}
}Tipe String
String menyimpan teks dalam tanda petik ganda. String bersifat tidak dapat diubah di Scala.
Anda dapat menggabungkannya dengan + dan memanggil banyak metode yang berguna pada string tersebut.
object Main {
def main(args: Array[String]): Unit = {
val first = "Grace"
val last = "Hopper"
val full = first + " " + last
println(full.toUpperCase)
}
}Mengapa val, Bukan var?
Nilai yang tidak dapat diubah mencegah banyak jenis kesalahan: tidak ada hal lain yang dapat mengubahnya tanpa sepengetahuan Anda.
- Lebih mudah dipahami
- Lebih aman dalam kode bersamaan
- Mendorong gaya fungsional
Gunakan var hanya jika perubahan nilai benar-benar diperlukan.
Keamanan Tipe dalam Praktik
Karena Scala diketik secara statis, kompiler mendeteksi ketidaksesuaian tipe sebelum program dijalankan.
Menetapkan teks ke Int akan gagal saat kompilasi. Berikut adalah kode yang valid dan tipenya benar.
object Main {
def main(args: Array[String]): Unit = {
val quantity: Int = 3
val unitPrice: Double = 4.50
val total: Double = quantity * unitPrice
println(total)
}
}Menyatukan Semuanya
Gabungkan binding yang tidak dapat diubah dan yang dapat diubah dengan inferensi serta anotasi dalam satu program kecil.
Perhatikan bagaimana kompiler melacak setiap tipe untuk Anda.
object Main {
def main(args: Array[String]): Unit = {
val base = 100
var running = base
val step: Int = 25
running = running + step
println(running)
}
}Pemeriksaan Singkat
Periksa pemahaman Anda tentang binding dan tipe.
Rangkuman
Anda telah mempelajari cara Scala memberi nama pada nilai:
valadalah binding yang tidak dapat diubah;vardapat diubah- Inferensi tipe menentukan tipe dari nilainya
- Anda dapat menambahkan anotasi eksplisit seperti
val x: Int - Tipe inti mencakup
Int,Long,Double,Boolean,Char, danString - Gunakan
valuntuk kode yang lebih aman dan jelas
Pertanyaan yang Sering Diajukan
Apakah pelajaran “val, var, dan Tipe” gratis?
Ya — teks lengkap “val, var, dan Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Scala for Backend Engineering & Functional Programming, upgrade ke CoddyKit PRO. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “val, var, dan Tipe”?
Binding dan inferensi. Kamu berlatih Scala for Backend Engineering & Functional Programming dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Scala for Backend Engineering & Functional Programming?
Tidak diperlukan pengalaman sebelumnya. Scala for Backend Engineering & Functional Programming di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “val, var, dan Tipe” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Scala for Backend Engineering & Functional Programming ini?
Ya. Setiap pelajaran Scala for Backend Engineering & Functional Programming menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menggunakan REPL
- val, var, dan Tipe
- Ekspresi, bukan Pernyataan
- Interpolasi String