1.簡介 |
1.1 編程語言 Overview
1.2 Scala 的發展歷程
1.3 Scala 語言的特性
1.4 Scala 初體驗
1.5 社區和相關書籍推薦 |
2.安裝配置和基本操作 |
2.1下載 Scala 編譯器
2.2環境變量配置
2.3使用 Scala 的交互式 shell
2.4使用 IDE
?
|
3.REPL使用方式 |
3.1啟動,使用
3.2 REPL 的命令行選項
3.3粘貼代碼塊
3.4:load 命令
3.5增加 JAR 文件和 Class 到 REPL 的 classpath
3.6 REPL 中運行 Shell 命令 |
4.基本類型和操作 |
4.1整數表示
4.2 String 表示
4.3 Boolean 表示
4.4操作符
4.5對象的相等性
4.6操作符優先級和結合性 |
5.控制結構 |
5.1 If 表達式
5.2 While 表達式
5.3 For 表達式
5.4異常處理
5.5關于break和continue |
6.函數式編程 |
6.1基本概念
6.2可變長參數、命名參數、帶默認值的函數
6.3部分應用函數
6.4閉包
6.5傳名和傳值
6.6遞歸和尾遞歸
6.7高階函數
6.8柯里化 |
7.類和對象 |
7.1 class 定義
7.2定義操作符
7.3隱式轉換
7.4 Scala 的類庫層級結構
7.5 Scala 的 package
7.6類,成員,方法的訪問權限 |
8.類的繼承 |
8.1抽象類
8.2擴展類
8.3重載 methods 和 fields
8.4調用超類的構造器
8.5構造順序
8.6多態和動態綁定
8.7定義final 成員 |
9.特質 |
9.1什么是“特質”,”特質”如何工作?
9.2 Ordered 特質介紹
9.3以棧的形式擴展多個特質
9.4用特質還是抽象類 |
10.Generic 和 Subtyping 及 Variance |
10.1 LSP介紹
10.2類型參數
10.3類型邊界
10.4 Variance |
11.模式匹配 |
11.1 Case classes
11.2模式匹配
11.3模式的種類
11.4模式匹配的順序
11.5 Sealed classes
11.6 Option 類型 |
12.抽取器 |
12.1 什么是抽取器
12.2 0 個 1 個變量的模式
12.3 可變長度的抽取器
12.4 抽取器和序列模式
12.5 正則表達式 |
13.隱式轉換和參數 |
13.1什么是隱式轉換
13.2隱式轉換規則
13.3使用隱式轉換的情況
13.4隱式轉換優先級
13.5上下文定界和視圖定界
13.6隱式轉換和類型 |
14.List 介紹 |
14.1 List的構造
14.2 List的基本操作
14.3 List模式匹配
85. 14.4 ListBuffer介紹
? |
15.For 表達式深入探討 |
15.1 For 表達式介紹
15.2模式匹配
15.3 For表達式的轉換過程
? |
16.Annotations |
16.1什么是注解
16.2 Scala 注解 VS Java 注解
16.3什么可以被注解
16.4注解參數
16.5自定義注解實現
96. 16.6針對Java特性的注解
97. 16.7用于優化的注解
98. 16.8用于錯誤和警告的注解
? |
17.對象相等性 |
17.1 Scala 中對象相等性的基本概念
17.2如何編寫相等性的方法
? |
18.與 Java 交互 |
18.1 Scala 中如何使用 Java 類
18.2 Java 中如何使用 Scala 類
? |