Teknologian jakaminen

Artikkeli Scala-kielen käytön aloittamisesta

2024-07-08

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

Scala on moderni ohjelmointikieli, joka yhdistää olio-ohjelmoinnin ja toiminnallisen ohjelmoinnin ominaisuudet mahdollistaen tiiviin, skaalautuvan ja tehokkaan koodin kirjoittamisen.

1. Mikä Scala on?

Scala (Scalable Language) on olio- ja toiminnallinen ohjelmointikieli. Se toimii JVM:llä (Java Virtual Machine), on erittäin yhteensopiva Javan kanssa ja voi toimia saumattomasti Java-koodin kanssa. Scala suunniteltiin käsittelemään joitakin Javan monisanaisuuksia samalla kun se esitteli nykyaikaisten ohjelmointikielten ominaisuuksia, kuten tyyppipäätelmän ja kuvioiden sovituksen.

2. Asenna Scala

Aloittaaksesi Scalan käytön, sinun on asennettava Scala-kääntäjä ja sbt (Scala Build Tool). Voit ladata ja asentaa ne virallisesta Scala-dokumentaatiosta.

3. Peruskielioppi

3.1 Hei, Scala!

Aloitamme yksinkertaisella "Hei, maailma!"

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

Tässä esimerkissä määrittelemme singleton objektinHelloScala, joka sisältää amainmenetelmä, joka on samanlainen kuin Javassamainmenetelmä.printlnKäytetään merkkijonojen tulostamiseen konsoliin.

3.2 Muuttujat ja vakiot

Scalassa on kahdenlaisia ​​muuttujia:var(muuttuja) javal(vakio).

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

val country = "中国"
var year = 2024

valIlmoitetut muuttujat ovat muuttumattomia (samanlainen kuin Javassafinal),javarIlmoitetut muuttujat ovat muuttuvia.

3.3 Toiminnot

Toimintojen määritelmät Scalassa ovat hyvin ytimekkäitä.

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

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

Tässä määrittelemme tiedoston nimeltäaddFunktio, joka hyväksyy kaksi kokonaislukuargumenttia ja palauttaa niiden summan.

4. Olio-ohjelmointi

Scala tukee täysin olio-ohjelmointia (OOP).

4.1 Luokat ja objektit

Määrittele yksinkertainen luokka ja objekti.

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

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

Tässä esimerkissä määrittelemme aPersonluokka, joka sisältää kaksi attribuuttianamejaage, ja menetelmägreet

4.2 Perintö

Scalan perinnöllisyys on samanlainen kuin 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.

Määritimme aEmployeeluokka, perittyPersonluokka ja ohitettugreetmenetelmä.

5. Toiminnallinen ohjelmointi

Scala tukee monia toiminnallisia ohjelmointiominaisuuksia, kuten korkeamman asteen toimintoja ja kuvioiden sovittamista.

5.1 Korkeamman asteen toiminnot

Korkeamman asteen funktiot ovat funktioita, jotka voivat hyväksyä muita toimintoja parametreiksi tai palautusfunktioiksi.

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