Scala 3 — 書籍

推論型別

語言

與其他靜態型別程式語言一樣,在 Scala 中,您可以在建立新變數時宣告一個型別

val x: Int = 1
val y: Double = 1

在這些範例中,型別被明確宣告為 IntDouble。然而,在 Scala 中,您通常不必在定義值繫結時宣告型別

val a = 1
val b = List(1, 2, 3)
val m = Map(1 -> "one", 2 -> "two")

當您這麼做時,Scala 會推論型別,如下列 REPL 互動所示

scala> val a = 1
val a: Int = 1

scala> val b = List(1, 2, 3)
val b: List[Int] = List(1, 2, 3)

scala> val m = Map(1 -> "one", 2 -> "two")
val m: Map[Int, String] = Map(1 -> one, 2 -> two)

事實上,大多數變數都是這樣定義的,而 Scala 自動推論型別的能力是讓它感覺像動態型別語言的一個功能。

此頁面的貢獻者