Scala程序设计(第2版)全面介绍Scala这门针对JVM的编程语言,它集成了现代对象模型、函数式编程和先进类型系统的所有优势。通过大量的代码示例,本书向读者展示了如何高效地利用Scala语言及其生态系统,同时解释了为何Scala是开发高扩展性、以数据为中心的应用程序的理想语言。第2版还介绍了Scala的新特性,新增了模式匹配和高级函数式编程的章节。
在第1版的基础之上,第2版介绍了Scala的最新语言特性,新添了模式匹配、推导式以及高级函数式编程等知识。通过本书,读者还能学会如何使用Scala命令行工具、第三方工具、库以及适用于编辑器和IDE的Scala相关插件。
本书既适合Scala初学者入门,也适合经验丰富的Scala开发者进阶参考。
利用Scala简洁灵活的语法,提高编程效率。
深入学习函数式编程的基本技能和高级技能。
使用Scala函数式组合器,构造“杀手级”大数据应用。
使用Scala提供的trait类型实现mixin组合,使用模式匹配实现数据抽取功能。
学习Scala语言中复杂的类型系统,包括了函数式编程和面向对象编程中的概念。
深入学习包括Akka的Scala并发工具。
掌握如何开发丰富的领域特定语言。
掌握构建可扩展、健壮的Scala应用软件的良好设计技巧。
作为一本强调数据科学的图书,本书中出现的代码示例均保存在公开的Github仓库中。通过立即可启动的虚拟机,这些示例代码可以很容易地获得。该虚拟机中预装了一组IPython Notebook,为我们提供方便的交互式学习环境。
目录
- 第 1 章 零到六十:Scala 简介 1
- 第 2 章 更简洁,更强大 28
- 第 3 章 要点详解 60
- 第 4 章 模式匹配 86
- 第 5 章 隐式详解 112
- 第 6 章 Scala函数式编程 147
- 第 7 章 深入学习for推导式 189
- 第 8 章 Scala面向对象编程 210
- 第 9 章 特征 233
- 第 10 章 Scala对象系统(I) 246
- 第 11 章 Scala对象系统(II) 269
- 第 12 章 Scala集合库 288
- 第 13 章 可见性规则 301
- 第 14 章 Scala类型系统(I) 314
- 第 15 章 Scala 类型系统(II) 336
- 第 16 章 高级函数式编程 352
- 第 17 章 并发工具 365
- 第 18 章 Scala与大数据 386
- 第 19 章 Scala动态调用 396
- 第 20 章 Scala的领域特定语言 403
- 第 21 章 Scala工具和库 414
- 第 22 章 与Java的互操作 430
- 第 23 章 应用程序设计 435
- 第 24 章 元编程:宏与反射 454