当前位置:首页 > 工业技术
快学Scala  第2版
快学Scala  第2版

快学Scala 第2版PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(美)凯.S.霍斯特曼(CayS.Horstmann)著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121319952
  • 页数:389 页
图书介绍:Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。通过ScalaJS项目,Scala还可以被编译成JavaScript代码,让我们更便捷高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。
《快学Scala 第2版》目录
标签:

第1章 基础A1 1

1.1 Scala解释器 1

1.2 声明值和变量 4

1.3 常用类型 5

1.4 算术和操作符重载 7

1.5 关于方法调用 8

1.6 apply方法 9

1.7 Scaladoc 11

练习 16

第2章 控制结构和函数A1 19

2.1 条件表达式 20

2.2 语句终止 22

2.3 块表达式和赋值 22

2.4 输入和输出 23

2.5 循环 25

2.6 高级for循环 27

2.7 函数 28

2.8 默认参数和带名参数L1 29

2.9 变长参数L1 29

2.10 过程 31

2.11 懒值L1 31

2.12 异常 32

练习 35

第3章 数组相关操作A1 39

3.1 定长数组 39

3.2 变长数组:数组缓冲 40

3.3 遍历数组和数组缓冲 41

3.4 数组转换 42

3.5 常用算法 44

3.6 解读Scaladoc 45

3.7 多维数组 47

3.8 与Java的互操作 48

练习 49

第4章 映射和元组A1 53

4.1 构造映射 53

4.2 获取映射中的值 54

4.3 更新映射中的值 55

4.4 迭代映射 56

4.5 已排序映射 57

4.6 与Java的互操作 57

4.7 元组 58

4.8 拉链操作 59

练习 60

第5章 类A1 63

5.1 简单类和无参方法 63

5.2 带getter和setter的属性 64

5.3 带getter的属性 67

5.4 对象私有字段 68

5.5 Bean属性L1 69

5.6 辅助构造器 71

5.7 主构造器 72

5.8 嵌套类L1 75

练习 78

第6章 对象A1 81

6.1 单例对象 81

6.2 伴生对象 82

6.3 扩展类或特质的对象 83

6.4 apply方法 84

6.5 应用程序对象 85

6.6 枚举 86

练习 87

第7章 包和引入A1 91

7.1 包 91

7.2 作用域规则 93

7.3 串联式包语句 95

7.4 文件顶部标记法 95

7.5 包对象 96

7.6 包可见性 97

7.7 引入 97

7.8 任何地方都可以声明引入 98

7.9 重命名和隐藏方法 99

7.10 隐式引入 99

练习 100

第8章 继承A1 103

8.1 扩展类 103

8.2 重写方法 104

8.3 类型检查和转换 105

8.4 受保护字段和方法 106

8.5 超类的构造 106

8.6 重写字段 107

8.7 匿名子类 109

8.8 抽象类 109

8.9 抽象字段 110

8.10 构造顺序和提前定义L3 110

8.11 Scala类继承关系 112

8.12 对象相等性L1 114

8.13 值类L2 116

练习 117

第9章 文件和正则表达式A1 121

9.1 读取行 121

9.2 读取字符 122

9.3 读取词法单元和数字 123

9.4 从URL或其他源读取 124

9.5 读取二进制文件 124

9.6 写入文本文件 124

9.7 访问目录 125

9.8 序列化 125

9.9 进程控制A2 126

9.10 正则表达式 129

9.11 正则表达式组 130

练习 131

第10章 特质A1 135

10.1 为什么没有多重继承 135

10.2 当作接口使用的特质 137

10.3 带有具体实现的特质 138

10.4 带有特质的对象 139

10.5 叠加在一起的特质 140

10.6 在特质中重写抽象方法 141

10.7 当作富接口使用的特质 142

10.8 特质中的具体字段 143

10.9 特质中的抽象字段 144

10.10 特质构造顺序 145

10.11 初始化特质中的字段 147

10.12 扩展类的特质 148

10.13 自身类型L2 149

10.14 背后发生了什么 151

练习 152

第11章 操作符A1 157

11.1 标识符 157

11.2 中置操作符 158

11.3 一元操作符 159

11.4 赋值操作符 160

11.5 优先级 161

11.6 结合性 162

11.7 apply和update方法 162

11.8 提取器L2 164

11.9 带单个参数或无参数的提取器L2 166

11.10 unapplySeq方法L2 167

11.11 动态调用L2 167

练习 171

第12章 高阶函数L1 175

12.1 作为值的函数 175

12.2 匿名函数 177

12.3 带函数参数的函数 178

12.4 参数(类型)推断 179

12.5 一些有用的高阶函数 180

12.6 闭包 181

12.7 SAM转换 182

12.8 柯里化 183

12.9 控制抽象 185

12.10 return表达式 186

练习 187

第13章 集合A2 191

13.1 主要的集合特质 192

13.2 可变和不可变集合 193

13.3 序列 195

13.4 列表 196

13.5 集 197

13.6 用于添加或去除元素的操作符 198

13.7 常用方法 201

13.8 将函数映射到集合 203

13.9 化简、折叠和扫描A3 205

13.10 拉链操作 209

13.11 迭代器 210

13.12 流A3 211

13.13 懒视图A3 213

13.14 与Java集合的互操作 213

13.15 并行集合 215

练习 217

第14章 模式匹配和样例类A2 221

14.1 更好的switch 222

14.2 守卫 223

14.3 模式中的变量 223

14.4 类型模式 224

14.5 匹配数组、列表和元组 225

14.6 提取器 227

14.7 变量声明中的模式 227

14.8 for表达式中的模式 229

14.9 样例类 229

14.10 copy方法和带名参数 230

14.11 case语句中的中置表示法 231

14.12 匹配嵌套结构 232

14.13 样例类是邪恶的吗 233

14.14 密封类 234

14.15 模拟枚举 235

14.16 Option类型 235

14.17 偏函数L2 236

练习 238

第15章 注解A2 243

15.1 什么是注解 243

15.2 什么可以被注解 244

15.3 注解参数 245

15.4 注解实现 246

15.5 针对Java特性的注解 247

15.5.1 Java修饰符 247

15.5.2 标记接口 248

15.5.3 受检异常 249

15.5.4 变长参数 249

15.5.5 JavaBeans 250

15.6 用于优化的注解 250

15.6.1 尾递归 250

15.6.2 跳转表生成与内联 252

15.6.3 可省略方法 253

15.6.4 基本类型的特殊化 254

15.7 用于错误和警告的注解 255

练习 256

第16章 XML处理A2 259

16.1 XML字面量 260

16.2 XML节点 260

16.3 元素属性 262

16.4 内嵌表达式 263

16.5 在属性中使用表达式 264

16.6 特殊节点类型 265

16.7 类XPath表达式 266

16.8 模式匹配 267

16.9 修改元素和属性 268

16.10 XML变换 269

16.11 加载和保存 270

16.12 命名空间 273

练习 275

第17章 Future A2 277

17.1 在future中运行任务 278

17.2 等待结果 280

17.3 Try类 281

17.4 回调 282

17.5 组合future任务 283

17.6 其他future变换 286

17.7 Future对象中的方法 288

17.8 Promise 289

17.9 执行上下文 291

练习 292

第18章 类型参数L2 297

18.1 泛型类 298

18.2 泛型函数 298

18.3 类型变量界定 298

18.4 视图界定 300

18.5 上下文界定 301

18.6 ClassTag上下文界定 301

18.7 多重界定 302

18.8 类型约束L3 302

18.9 型变 304

18.10 协变和逆变点 305

18.11 对象不能泛型 307

18.12 类型通配符 308

练习 309

第19章 高级类型L2 313

19.1 单例类型 313

19.2 类型投影 315

19.3 路径 316

19.4 类型别名 317

19.5 结构类型 318

19.6 复合类型 319

19.7 中置类型 320

19.8 存在类型 321

19.9 Scala类型系统 322

19.10 自身类型 323

19.11 依赖注入 325

19.12 抽象类型L3 327

19.13 家族多态L3 329

19.14 高等类型L3 333

练习 336

第20章 解析A3 341

20.1 文法 342

20.2 组合解析器操作 343

20.3 解析器结果变换 345

20.4 丢弃词法单元 347

20.5 生成解析树 348

20.6 避免左递归 348

20.7 更多的组合子 350

20.8 避免回溯 352

20.9 记忆式解析器 353

20.10 解析器说到底是什么 354

20.11 正则解析器 355

20.12 基于词法单元的解析器 356

20.13 错误处理 358

练习 359

第21章 隐式转换和隐式参数L3 363

21.1 隐式转换 363

21.2 利用隐式转换丰富现有类库的功能 364

21.3 引入隐式转换 365

21.4 隐式转换规则 367

21.5 隐式参数 368

21.6 利用隐式参数进行隐式转换 370

21.7 上下文界定 371

21.8 类型类 372

21.9 类型证明 374

21.10 @implicitNotFound注解 376

21.11 CanBuildFrom解读 376

练习 379

词汇表 381

返回顶部