Scala 3 — 書籍

類型和類型系統

語言

Scala 是一門獨特的語言,因為它是靜態類型的,但通常感覺靈活且動態。例如,由於類型推論,您可以撰寫如下程式碼,而不必明確指定變數類型

val a = 1
val b = 2.0
val c = "Hi!"

這讓程式碼感覺是動態型態。而且感謝新功能,例如 Scala 3 中的 聯合型態,您也可以撰寫以下程式碼,非常簡潔地表達預期作為參數的值和傳回的型態

def isTruthy(a: Boolean | Int | String): Boolean = ???
def dogCatOrWhatever(): Dog | Plant | Car | Sun = ???

正如範例所建議的,在使用聯合型態時,型態不必共用共同的階層,您仍然可以將它們作為參數接受或從方法傳回。

如果您是應用程式開發人員,您每天都會使用型態推論等功能,而每週都會使用泛型。當您閱讀類別和方法的 Scaladoc 時,您也需要對變異有一些了解。希望您會發現使用型態相對簡單,而且也為函式庫開發人員提供了許多表達能力、彈性和控制。

型態的優點

靜態型態程式語言提供了許多優點,包括

  • 協助提供強大的 IDE 支援
  • 在編譯時消除許多類別的潛在錯誤
  • 協助重構
  • 提供強大的文件,因為它經過型態檢查,因此不會過時

介紹 Scala 型態系統的功能

在簡短介紹之後,以下各節提供 Scala 型態系統功能的概觀。

此頁面的貢獻者