Scala實用指南( 簡體 字) | |
作者:[美] 文卡特·蘇帕拉馬尼亞姆(Venkat Subramaniam) | 類別:1. -> 程式設計 -> Scala |
出版社:人民郵電出版社 | 3dWoo書號: 49238 詢問書籍請說出此書號! 有庫存 NT售價: 345 元 |
出版日:7/1/2018 | |
頁數:229 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115483560 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 一部分 小試牛刀 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 本書是為想要快速學習或者正在學習Scala編程語言的Java開發者寫的,循序漸進地介紹了Scala編程語言的多個方面。
本書共分為4個部分:第一部分詳細介紹Scala的一些基礎知識,并和Java中的相關概念進行了參照,方便讀者快速上手Scala;第二部分進一步介紹Scala的一些中級知識,以及與Java的一些差異點,方便讀者編寫出更簡潔的代碼;第三部分介紹在Scala中如何進行并發編程,并務實地介紹Akka套件;第四部分通過實戰練習對前面的知識進行綜合應用,并系統地介紹如何與Java進行互操作。此外,附錄部分還包括一些額外指引。 本書的目標讀者是對JVM平臺上的語言以及函數式編程感興趣的程序員。閱讀本書不需要讀者熟悉Scala編程語言,但需要讀者具備Java、面向對象編程的背景知識。因為本書以一種非常務實的方式組織內容,所以讀者無法學到Scala的所有內容,但是足以應付日常工作,如果想要更全面地學習Scala以及其背后的一些設計理念,則最好輔以其他圖書。 |