Scala 導覽

簡介

語言

歡迎參加導覽

此導覽包含 Scala 最常使用的功能的精簡介紹。它適用於語言的新手。

這只是一個簡短的導覽,而不是完整的語言教學課程。如果您想要更詳細的指南,請考慮取得 一本書 或諮詢 其他資源

什麼是 Scala?

Scala 是一種現代的多範式程式設計語言,旨在以簡潔、優雅且類型安全的方​​式表達常見的程式設計模式。它無縫整合了物件導向和函式語言的功能。

Scala 是物件導向的

Scala 是一種純粹的物件導向語言,因為 每個值都是一個物件。物件的類型和行為由 類別特質 描述。類別可以透過子類別化進行延伸,並使用靈活的 基於混合的組合 機制作為多重繼承的乾淨替代方案。

Scala 是函式的

Scala 也是一種函數式語言,因為 每個函數都是一個值。Scala 提供 輕量級語法 來定義匿名函數,它支援 高階函數,它允許函數 巢狀,並且它支援 柯里化。Scala 的 樣例類別 和它內建支援 模式比對 提供代數類型(用於許多函數式語言)的功能。單例物件 提供一種方便的方式來分組不屬於類別成員的函數。

此外,Scala 的模式比對概念自然延伸到 XML 資料處理,在 右忽略序列模式 的協助下,透過 萃取器物件 的一般延伸方式。在此脈絡中,for 推論 對於制定查詢很有用。這些功能使 Scala 成為開發網路服務等應用程式的理想選擇。

Scala 是靜態型別的

Scala 的表達式型別系統在編譯時強制執行,以安全且一致的方式使用抽象。特別是,型別系統支援

型別推論 表示使用者不需要使用冗餘型別資訊來註解程式碼。結合這些功能,提供了一個強大的基礎,用於安全地重複使用程式抽象和軟體的型別安全延伸。

Scala 是可延伸的

實際上,特定領域應用程式的開發通常需要特定領域語言延伸。Scala 提供一種獨特的語言機制組合,讓它可以輕鬆地以函式庫的形式新增新的語言建構。

在許多情況下,這可以在不使用巨集等元程式設計工具的情況下完成。例如

  • 隱含類別 允許將延伸方法新增到現有型別。
  • 字串內插 可使用自訂內插器進行使用者擴充。

Scala 互操作

Scala 設計為與熱門的 Java 執行環境 (JRE) 進行良好的互操作。特別是,與主流物件導向 Java 程式語言的互動盡可能地無縫。較新的 Java 功能,例如 SAM、Lambda註解泛型,在 Scala 中都有直接類比。

那些沒有 Java 類比的 Scala 功能,例如 預設命名參數,會盡可能緊密地編譯為 Java。Scala 具有與 Java 相同的編譯模型(獨立編譯、動態類別載入),並允許存取數千個現有的高品質函式庫。

享受導覽!

請繼續前往 下一頁 以閱讀更多內容。

此頁面的貢獻者