技術共有

Scala 言語の入門に関する記事

2024-07-08

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

Scala は、オブジェクト指向プログラミングと関数型プログラミングの機能を組み合わせて、簡潔でスケーラブルで効率的なコードを作成できるようにする最新のプログラミング言語です。

1. Scala とは何ですか?

Scala (Scalable Language) は、オブジェクト指向の関数型プログラミング言語です。 JVM (Java Virtual Machine) 上で実行され、Java との互換性が高く、Java コードとシームレスに相互運用できます。 Scala は、型推論やパターン マッチングなどの最新のプログラミング言語の機能を導入しながら、Java の冗長性の一部に対処するように設計されました。

2.Scalaをインストールする

Scala の使用を開始するには、Scala コンパイラーと sbt (Scala Build Tool) をインストールする必要があります。 Scala の公式ドキュメントからダウンロードしてインストールできます。

3. 基本的な文法

3.1 こんにちは、Scala!

まずは簡単な「Hello, World!」プログラムから始めます。

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

この例では、シングルトン オブジェクトを定義します。HelloScala、これには、mainJava と同様のメソッドmain方法。println文字列をコンソールに出力するために使用されます。

3.2 変数と定数

Scala には 2 種類の変数があります。var(変数) とval(絶え間ない)。

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

val country = "中国"
var year = 2024

val宣言された変数は不変です (Java と同様)final)、そしてvar宣言された変数は可変です。

3.3 機能

Scala の関数定義は非常に簡潔です。

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

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

ここでは、というファイルを定義します。add2 つの整数引数を受け取り、それらの合計を返す関数。

4. オブジェクト指向プログラミング

Scala はオブジェクト指向プログラミング (OOP) を完全にサポートしています。

4.1 クラスとオブジェクト

単純なクラスとオブジェクトを定義します。

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

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

この例では、Person2 つの属性を含むクラスnameそしてage、および方法greet

4.2 継承

Scala の継承は 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.

を定義しました。Employeeから継承されたクラスPersonクラスとオーバーライドgreet方法。

5. 関数型プログラミング

Scala は、高階関数やパターン マッチングなど、多くの関数型プログラミング機能をサポートしています。

5.1 高次関数

高階関数は、他の関数をパラメーターとして受け取ったり、関数を返したりできる関数です。

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