歡迎參加導覽
此導覽包含 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 相同的編譯模型(獨立編譯、動態類別載入),並允許存取數千個現有的高品質函式庫。
享受導覽!
請繼續前往 下一頁 以閱讀更多內容。