Berbagi teknologi

Artikel tentang memulai bahasa Scala

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scala adalah bahasa pemrograman modern yang menggabungkan fitur pemrograman berorientasi objek dan pemrograman fungsional untuk memungkinkan penulisan kode yang ringkas, terukur, dan efisien.

1. Apa itu Scala?

Scala (Scalable Language) adalah bahasa pemrograman berorientasi objek dan fungsional. Ini berjalan pada JVM (Java Virtual Machine), sangat kompatibel dengan Java, dan dapat berinteroperasi dengan kode Java secara lancar. Scala dirancang untuk mengatasi beberapa verbositas Java sambil memperkenalkan fitur-fitur bahasa pemrograman modern seperti inferensi tipe dan pencocokan pola.

2. Instal Scala

Untuk mulai menggunakan Scala, Anda perlu menginstal kompiler Scala dan sbt (Scala Build Tool). Anda dapat mengunduh dan menginstalnya dari dokumentasi resmi Scala.

3. Tata bahasa dasar

3.1 Halo, Scala!

Kita mulai dengan program sederhana "Halo, Dunia!"

object HelloScala {
  def main(args: Array[String]): Unit = {
    println("Hello, Scala!")
  }
}

Dalam contoh ini, kita mendefinisikan objek tunggalHelloScala, yang berisi amainmetode, mirip dengan yang di Jawamainmetode.printlnDigunakan untuk mencetak string ke konsol.

3.2 Variabel dan konstanta

Ada dua jenis variabel di Scala:var(variabel) danval(konstan).

val name: String = "Scala"  // 常量
var age: Int = 10           // 变量

val country = "中国"
var year = 2024

valVariabel yang dideklarasikan tidak dapat diubah (mirip dengan di Javafinal),DanvarVariabel yang dideklarasikan dapat berubah.

3.3 Fungsi

Definisi fungsi di Scala sangat ringkas.

def add(a: Int, b: Int): Int = {
  a   b
}

println(add(3, 5))  // 输出: 8
s

Di sini kita mendefinisikan file bernamaaddSebuah fungsi yang menerima dua argumen bilangan bulat dan mengembalikan jumlahnya.

4. Pemrograman berorientasi objek

Scala sepenuhnya mendukung pemrograman berorientasi objek (OOP).

4.1 Kelas dan Objek

Definisikan kelas dan objek sederhana.

class Person(val name: String, var age: Int) {
  def greet(): Unit = {
    println(s"Hello, 我的名字: $name ,我的年龄是 $age。")
  }
}

val person = new Person("Alice", 25)
person.greet()

Dalam contoh ini kita mendefinisikan aPersonkelas, berisi dua atributnameDanage, dan metodegreet

4.2 Warisan

Warisan di Scala mirip dengan Java.

class Employee(name: String, age: Int, val company: String) extends Person(name, age) {
  override def greet(): Unit = {
    println(s"Hello, my name is $name, I work at $company, and I am $age years old.")
  }
}

val employee = new Employee("Bob", 30, "Google")
employee.greet()  // 输出: Hello, my name is Bob, I work at Google, and I am 30 years old.

Kami mendefinisikan aEmployeekelas, diwarisi dariPersonkelas dan digantigreetmetode.

5. Pemrograman fungsional

Scala mendukung banyak fitur pemrograman fungsional, seperti fungsi tingkat tinggi dan pencocokan pola.

5.1 Fungsi tingkat tinggi

Fungsi tingkat tinggi adalah fungsi yang dapat menerima fungsi lain sebagai parameter atau fungsi kembalian.

def applyOperation(a: Int, b: Int, operation: (Int, Int) =