Scala實用指南

Scala實用指南

《Scala實用指南》是2019年9月人民郵電出版社出版的圖書,作者是[美]文卡特·蘇帕拉馬尼亞姆(Venkat Subramaniam)。

基本介紹

  • 中文名:Scala實用指南
  • 作者:[美]文卡特·蘇帕拉馬尼亞姆(Venkat Subramaniam)
  • 出版社:人民郵電出版社
  • 出版時間:2019年9月
  • 頁數:229 頁
  • 定價:69 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115483560
內容簡介,圖書目錄,

內容簡介

本書是為想要快速學習或者正在學習Scala程式語言的Java開發者寫的,循序漸進地介紹了Scala程式語言的多個方面。
本書共分為4個部分:第一部分詳細介紹Scala的一些基礎知識,並和Java中的相關概念進行了參照,方便讀者快速上手Scala;第二部分進一步介紹Scala的一些中級知識,以及與Java的一些差異點,方便讀者編寫出更簡潔的代碼;第三部分介紹在Scala中如何進行並發編程,並務實地介紹Akka套件;第四部分通過實戰練習對前面的知識進行綜合套用,並系統地介紹如何與Java進行互操作。此外,附錄部分還包括一些額外指引。
本書的目標讀者是對JVM平台上的語言以及函式式編程感興趣的程式設計師。閱讀本書不需要讀者熟悉Scala程式語言,但需要讀者具備Java、面向對象編程的背景知識。因為本書以一種非常務實的方式組織內容,所以讀者無法學到Scala的所有內容,但是足以應付日常工作,如果想要更全面地學習Scala以及其背後的一些設計理念,則最好輔以其他圖書。

圖書目錄

第 一部分 小試牛刀 1
第 1章 探索Scala 3
1.1 Scala的特性 3
1.2 以少勝多 4
1.3 函式式編程 8
1.4 小結 11
第 2章 體驗Scala 12
2.1 使用REPL 12
2.2 命令行上的Scala 14
2.3 以獨立腳本方式運行Scala代碼 15
2.3.1 在類Unix系統上以獨立腳本方式運行 15
2.3.2 在Windows上以獨立腳本方式運行 16
2.3.3 Scala的IDE支持 16
2.4 編譯Scala 17
2.5 小結 17
第3章 從Java到Scala 18
3.1 Scala:簡潔的Java 18
3.1.1 減少樣板代碼 18
3.1.2 更多便利特性 19
3.1.3 轉向函式式風格 21
3.2 Java原始類型對應的Scala類 21
3.3 元組和多重賦值 22
3.4 靈活的參數和參數值 24
3.4.1 傳遞變長參數值 24
3.4.2 為參數提供默認值 25
3.4.3 使用命名參數 26
3.5 隱式參數 27
3.6 字元串和多行原始字元串 29
3.7 字元串插值 30
3.8 合理的約定 32
3.9 操作符重載 33
3.10 Scala與Java的差異 35
3.10.1 賦值的結果 36
3.10.2 Scala的== 36
3.10.3 可有可無的分號 37
3.10.4 避免顯式return 38
3.11 默認訪問修飾符 39
3.11.1 定製訪問修飾 39
3.11.2 Scala的protected 40
3.11.3 細粒度的訪問控制 41
3.12 小結 43
第4章 處理對象 44
4.1 創建並使用類 44
4.1.1 創建實例 44
4.1.2 創建類 45
4.1.3 定義欄位、方法和構造器 46
4.2 遵循JavaBean慣例 49
4.3 類型別名 50
4.4 擴展一個類 51
4.5 參數化類型 52
4.6 單例對象和伴生對象 54
4.6.1 單例對象 54
4.6.2 獨立對象和伴生對象 56
4.6.3 Scala中的static 57
4.7 創建枚舉類 59
4.8 包對象 60
4.9 小結 63
第5章 善用類型 64
5.1 類型推斷 64
5.1.1 簡單類型的類型推斷 64
5.1.2 針對泛型和集合的類型推斷 66
5.2 基礎類型 68
5.2.1 Any類型 68
5.2.2 關於Nothing 69
5.2.3 Option類型 70
5.2.4 Either類型 71
5.3 返回值類型推斷 73
5.4 參數化類型的型變 75
5.4.1 協變和逆變 75
5.4.2 支持協變 76
5.4.3 支持逆變 77
5.4.4 定製集合的型變 78
5.5 隱式類型轉換 78
5.5.1 隱式函式 79
5.5.2 隱式類 81
5.6 值類 83
5.7 使用隱式轉換 86
5.8 小結 88
第二部分 深入Scala 89
第6章 函式值和閉包 91
6.1 常規函式的局限性 91
6.2 可擴展性與高階函式 92
6.3 具有多個參數的函式值 93
6.4 柯里化 96
6.5 參數的占位符 97
6.6 參數路由 98
6.7 復用函式值 99
6.8 部分套用函式 101
6.9 閉包 102
6.10 Execute Around Method模式 103
6.11 小結 106
第7章 特質 107
7.1 理解特質 107
7.2 選擇性混入 110
7.3 使用特質實現裝飾器模式 111
7.4 特質中的方法延遲綁定 113
7.5 小結 115
第8章 集合 116
8.1 常見的Scala集合 116
8.2 使用Set 118
8.3 關聯映射 119
8.4 不可變列表 121
8.5 方法名約定 124
8.6 for表達式 126
8.7 小結 128
第9章 模式匹配和正則表達式 129
9.1 模式匹配綜述 129
9.1.1 匹配字面量和常量 129
9.1.2 匹配通配符 130
9.1.3 匹配元組和列表 131
9.1.4 匹配類型和守衛 132
9.2 case表達式中的模式變數和常量 133
9.3 使用case類進行模式匹配 135
9.4 提取器和正則表達式 138
9.4.1 使用提取器進行模式匹配 138
9.4.2 正則表達式 141
9.4.3 正則表達式作為提取器 142
9.5 無處不在的下劃線字元 143
9.6 小結 144
第 10章 處理異常 145
10.1 Scala中的異常 145
10.2 注意catch的順序 147
10.3 小結 149
第 11章 遞歸 150
11.1 一個簡單的遞歸 150
11.2 尾調用最佳化(TCO) 151
11.2.1 常規遞歸併無最佳化 152
11.2.2 用尾調用最佳化來拯救 152
11.2.3 確保尾調用最佳化 154
11.3 蹦床調用 155
11.4 小結 158
第三部分 Scala中的並發編程 159
第 12章 惰性求值和並行集合 161
12.1 釋放惰性 161
12.2 釋放嚴格集合的惰性 164
12.3 終極惰性流 167
12.4 並行集合 170
12.4.1 從順序集合入手 171
12.4.2 使用並行集合加速 173
12.5 小結 175
第 13章 使用Actor編程 176
13.1 一個順序耗時問題 176
13.2 曲折的並發之路 178
13.3 創建Actor 179
13.4 Actor和執行緒 181
13.5 隔離可變性 182
13.6 使用Actor模型進行並發 186
13.7 使用建議 189
13.8 小結 190
第四部分 Scala實戰 191
第 14章 和Java進行互操作 193
14.1 在Scala中使用Scala類 193
14.2 在Scala中使用Java類 195
14.3 在Java中使用Scala方法 197
14.4 在Java中使用特質 198
14.5 在Java中使用單例對象和伴生對象 201
14.6 擴展類 203
14.7 小結 204
第 15章 使用Scala創建應用程式 205
15.1 獲取用戶輸入 205
15.2 讀寫檔案 206
15.3 XML作為一等公民 207
15.4 讀寫XML 210
15.5 從Web獲取股票價格 213
15.6 編寫並發的資產淨值應用程式 216
15.7 小結 217
第 16章 單元測試 218
16.1 使用JUnit 218
16.2 使用ScalaTest 220
16.3 使用Mockito 221
16.3.1 函式式風格的測試 221
16.3.2 創建一個Mock 223
16.4 小結 227
附錄A 安裝Scala 228
參考文獻 230

相關詞條

熱門詞條

聯絡我們