Scala 編程實戰 Scala编程实战

亞歷山大 (Alvin Alexander)

  • 出版商: 機械工業
  • 出版日期: 2016-06-01
  • 定價: $714
  • 售價: 8.5$607
  • 語言: 簡體中文
  • 頁數: 642
  • 裝訂: 平裝
  • ISBN: 7111526864
  • ISBN-13: 9787111526865
  • 相關分類: JVM 語言
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

<內容介紹>

學習Scala語言,不僅僅意味著熟悉新的API,更重要的是一種思維方式的轉變。從原有的面向對象編程(OO)到函數式編程(FP)的思想。本書面向實際的使用場景,提供了大量的Scala實例,同時,也給出底層的原理和相關的參考。對於Scala新手來說這是一本非常不錯的入門書,對於老手來說也是一本夯實基礎,檢視自己所學知識的好書。

<目錄>


前言
第1章字符串
1.1測試字符串的相等性
1.2創建多個字符串
1.3分隔字符串
1.4字符串中的變量代換
1.5挨個處理字符串中的字符
1.6字符串中的查找模式
1.7字符串中的替換模式
1.8抽取String中模式匹配的部分
1.9訪問字符串中的一個字符
1.10在String類中添加自定義的方法
第2章數值
2.1從字符串到數值
2.2數值類型轉換
2.3重載默認數值類型
2.4替代++和——
2.5浮點數的比較
2.6處理大數
2.7生成隨機數
2.8創建一個數值區間、列表或者數組
2.9格式化數值和金額
第3章控制結構
3.1for和foreach循環
3.2在for循環中使用多個計數器
3.3在for循環中嵌入if語句(衛語句)
3.4創建for表達式(for/yield組合)
3.5實現break和continue
3.6像三元運算符一樣使用if
3.7像switch語句一樣使用匹配表達式
3.8一條case語句匹配多個條件
3.9將匹配表達式的結果賦值給變量
3.10訪問匹配表達式默認case的值
3.11在匹配表達式中使用模式匹配
3.12在匹配表達式中使用Case類
3.13給Case語句添加if表達式(衛語句)
3.14使用匹配表達式替換isInstanceOf
3.15在匹配表達式中使用List
3.16用try/catch匹配一個或者更多的異常
3.17在try/catch/finally塊中使用變量前定義變量
3.18創建自定義控制結構
第4章類和屬性
4.1創建一個主構造函數
4.2控制構造函數字段的可見性
4.3定義輔助構 ​​造函數
4.4定義私有的主構造函數
4.5設置構造函數參數的默認值
4.6覆寫默認的訪問和修改方法
4.7阻止生成getter和setter方法
4.8將代碼塊或者函數賦給字段
4.9設置未初始化的var字段類型
4.10在繼承類時處理構造函數參數
4.11調用父類的構造函數
4.12何時使用抽像類
4.13在抽象基類(或者特質)裡定義屬性
4.14用Case類生成模板代碼
4.15定義一個equals方法(對象的相等性)
4.16創建內部類
第5章方法
5.1控制方法作用域
5.2調用父類的方法
5.3方法參數默認值
5.4使用參數名
5.5定義一個返回多個值(Tuples)的方法
5.6調用getter/setter方法時不使用括號
5.7創建接受變參的方法
5.8方法的異常聲明
5.9支持鍊式調用編碼風格
解決辦法
第6章對象
6.1對象的強制轉換
6.2Java.class的Scala等價類
6.3確定對象所屬的類
6.4用Object啟動一個應用
6.5用object創建單例
6.6用伴生類創建靜態成員
6.7將通用代碼放入包對象
6.8不使用new關鍵字創建對象實例
6.9在Scala中用apply方法實現工廠方法
第7章包和導入
7.1花括號風格的包記號法
7.2引入一個或多個成員
7.3在導入時重命名成員
7.4在引入時隱藏一個類
7.5使用靜態導入
7.6在任意地方使用Import語句
第8章特質
8.1特質用作接口
8.2使用特質中的抽象字段和實際字段
8.3像抽像類一樣使用特質
8.4簡單混入特質
8.5通過繼承來限制特質的使用範圍
8.6限定特質只可用於指定類型的子類
8.7保證特質只能被添加到只有一個特定方法的類型
8.8為對象實例中添加特質
8.9像特質一樣繼承一個Java接口
第9章函數式編程
9.1使用函數字面量(匿名函數)
9.2將函數作為變量
9.3定義接受簡單函數作為參數的方法
9.4更多複雜的函數
9.5使用閉包
9.6使用部分應用函數
9.7創建返回函數的函數
9.8創建部分應用函數
9.9一個真實的例子
第10章集合
10.1理解集合的層級結構
10.2選擇一個集合類
10.3用一個集合方法解決一個問題
10.4理解集合的性能
10.5在創建集合時聲明一個類型
10.6理解可變變量與不可變集合
10.7將Vector“變為”不可變序列
10.8把ArrayBuffer作為可變序列的第一選擇
10.9用foreach遍歷一個集合
10.10用for循環遍歷一個集合
10.11使用zipWithIndex或者zip創建循環計數器
10.12迭代器的使用
10.13用for /yield實現集合間的轉換
10.14用map實現集合的變換
10.15展平列表的列表與扁平化問題
10.16map,flatten和flatMap的組合
10.17用filter過濾一個集合
10.18從集合中提取元素序列
10.19序列的分割( groupBy、partition等)
10.20用reduce和fold方法遍歷集合
10.21從序列中提取不重複的元素
10.22合併序列集合
10.23用zip將兩個序列集合合併為一對
10.24在集合上創建一個惰性視圖
10.25利用Range創建集合
10.26創建使用枚舉
10.27當需要一堆元素時使用元組
10.28集合排序
10.29通過mkString將集合轉換成字符串
……
第11章列表、數組、映射、集及其他
第12章文件和進程
第13章Actors和並發
第14章命令行任務
第15章Web服務
第16章數據庫和持久化
第17章與Java交互
第18章簡單構建工具(SBT)
第19章類型
第20章慣用法