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 型態系統功能的概觀。
此頁面的貢獻者
內容
- 簡介
- Scala 功能
- 為何選擇 Scala 3?
- Scala 的品味
- Hello, World!
- REPL
- 變數和資料型態
- 控制結構
- 網域建模
- 方法
- 一級函式
- 單例物件
- 集合
- 情境抽象
- 頂層定義
- 摘要
- 類型初探
- 字串內插
- 控制結構
- 網域建模
- 工具
- OOP 建模
- FP 建模
- 方法
- 方法特性
- Scala 3 中的主要方法
- 摘要
- 函式
- 匿名函式
- 函式變數
- Eta 展開
- 高階函式
- 撰寫自己的 map 方法
- 建立傳回函式的函式
- 摘要
- 封裝和匯入
- Scala 集合
- 集合類型
- 集合方法
- 摘要
- 函式程式設計
- 什麼是函式程式設計?
- 不可變值
- 純函式
- 函式是值
- 函式錯誤處理
- 摘要
- 類型和類型系統
- 推論類型
- 泛型
- 交集類型
- 聯集類型
- 代數資料類型
- 變異性
- 不透明類型
- 結構類型
- 依賴函式類型
- 其他類型
- 情境抽象
- 擴充方法
- 情境參數
- 情境界限
- 已給定匯入
- 類型類別
- 多重宇宙等式
- 隱式轉換
- 摘要
- 並行處理
- Scala 工具
- 使用 sbt 建置和測試 Scala 專案
- 工作表
- 與 Java 互動
- Java 開發人員的 Scala
- JavaScript 開發人員的 Scala
- Python 開發人員的 Scala
- 後續步驟