展开全部

主编推荐语

详细说明Scala作为编程的理想语言,熟练使用Scala语言及其生态系统。

内容简介

《Scala程序设计(第2版)》全面地介绍Scala这种针对JVM的编程语言,它集成了现代对象模型、函数式编程和先进类型系统的所有优势。本书通过代码示例,向你展示如何即刻高效地利用该语言和生态系统,同时解释为何Scala是开发高可扩展、以数据为中心的应用程序的理想语言。这一版还介绍了Scala的新特性,新增了模式匹配和高级函数式编程章节。此外,你还会学到Scala的命令行工具、第三方工具、库等。

目录

  • 版权信息
  • 版权声明
  • O'Reilly Media, Inc. 介绍
  • 前言
  • 第1章 零到六十:Scala 简介
  • 1.1 为什么选择Scala
  • 1.2 安装Scala
  • 1.3 使用Scala
  • 1.4 并发
  • 1.5 本章回顾与下一章提要
  • 第2章 更简洁,更强大
  • 2.1 分号
  • 2.2 变量声明
  • 2.3 Range
  • 2.4 偏函数
  • 2.5 方法声明
  • 2.6 推断类型信息
  • 2.7 保留字
  • 2.8 字面量
  • 2.9 Option、Some和None:避免使用null
  • 2.10 封闭类的继承
  • 2.11 用文件和名空间组织代码
  • 2.12 导入类型及其成员
  • 2.13 抽象类型与参数化类型
  • 2.14 本章回顾与下一章提要
  • 第3章 要点详解
  • 3.1 操作符重载?
  • 3.2 无参数方法
  • 3.3 优先级规则
  • 3.4 领域特定语言
  • 3.5 Scala中的if语句
  • 3.6 Scala中的for推导式
  • 3.7 其他循环结构
  • 3.8 条件操作符
  • 3.9 使用try、catch和final子句
  • 3.10 名字调用和值调用
  • 3.11 惰性赋值
  • 3.12 枚举
  • 3.13 可插入字符串
  • 3.14 Trait:Scala语言的接口和“混入”
  • 3.15 本章回顾与下一章提要
  • 第4章 模式匹配
  • 4.1 简单匹配
  • 4.2 match中的值、变量和类型
  • 4.3 序列的匹配
  • 4.4 元组的匹配
  • 4.5 case中的guard语句
  • 4.6 case类的匹配
  • 4.7 可变参数列表的匹配
  • 4.8 正则表达式的匹配
  • 4.9 再谈case语句的变量绑定
  • 4.10 再谈类型匹配
  • 4.11 封闭继承层级与全覆盖匹配
  • 4.12 模式匹配的其他用法
  • 4.13 总结关于模式匹配的评价
  • 4.14 本章回顾与下一章提要
  • 第5章 隐式详解
  • 5.1 隐式参数
  • 5.2 隐式参数适用的场景
  • 5.3 隐式转换
  • 5.4 类型类模式
  • 5.5 隐式所导致的技术问题
  • 5.6 隐式解析规则
  • 5.7 Scala 内置的各种隐式
  • 5.8 合理使用隐式
  • 5.9 本章回顾与下一章提要
  • 第6章 Scala 函数式编程
  • 6.1 什么是函数式编程
  • 6.2 Scala中的函数式编程
  • 6.3 递归
  • 6.4 尾部调用和尾部调用优化
  • 6.5 偏应用函数与偏函数
  • 6.6 Curry化与函数的其他转换
  • 6.7 函数式编程的数据结构
  • 6.8 遍历、映射、过滤、折叠与归约
  • 6.9 向左遍历与向右遍历
  • 6.10 组合器:软件最佳组件抽象
  • 6.11 关于复制
  • 6.12 本章回顾与下一章提要
  • 第7章 深入学习 for 推导式
  • 7.1 内容回顾:for推导式组成元素
  • 7.2 for推导式:内部机制
  • 7.3 for推导式的转化规则
  • 7.4 Option以及其他的一些容器类型
  • 7.5 本章回顾与下一章提要
  • 第8章 Scala 面向对象编程
  • 8.1 类与对象初步
  • 8.2 引用与值类型
  • 8.3 价值类
  • 8.4 父类
  • 8.5 Scala的构造器
  • 8.6 类的字段
  • 8.7 验证输入
  • 8.8 调用父类构造器(与良好的面向对象设计)
  • 8.9 嵌套类型
  • 8.10 本章回顾与下一章提要
  • 第9章 特征
  • 9.1 Java 8中的接口
  • 9.2 混入trait
  • 9.3 可堆叠的特征
  • 9.4 构造trait
  • 9.5 选择类还是trait
  • 9.6 本章回顾与下一章提要
  • 第10章 Scala 对象系统(I)
  • 10.1 参数化类型:继承转化
  • 10.2 Scala的类型层次结构
  • 10.3 闲话Nothing(以及Null)
  • 10.4 Product、case类和元组
  • 10.5 Predef对象
  • 10.6 对象的相等
  • 10.7 本章回顾与下一章提要
  • 第11章 Scala 对象系统(II)
  • 11.1 覆写类成员和trait成员
  • 11.2 尝试覆写final声明
  • 11.3 覆写抽象方法和具体方法
  • 11.4 覆写抽象字段和具体字段
  • 11.5 覆写抽象类型
  • 11.6 无须区分访问方法和字段:统一访问原则
  • 11.7 对象层次结构的线性化算法
  • 11.8 本章回顾与下一章提要
  • 第12章 Scala 集合库
  • 12.1 通用、可变、不可变、并发以及并行集合
  • 12.2 选择集合
  • 12.3 集合库的设计惯例
  • 12.4 值类型的特化
  • 12.5 本章回顾与下一章提要
  • 第13章 可见性规则
  • 13.1 默认可见性:公有可见性
  • 13.2 可见性关键字
  • 13.3 Public可见性
  • 13.4 Protected可见性
  • 13.5 Private可见性
  • 13.6 作用域内私有和作用域内受保护可见性
  • 13.7 对可见性的想法
  • 13.8 本章回顾与下一章提要
  • 第14章 Scala 类型系统(I)
  • 14.1 参数化类型
  • 14.2 类型边界
  • 14.3 上下文边界
  • 14.4 视图边界
  • 14.5 理解抽象类型
  • 14.6 自类型标记
  • 14.7 结构化类型
  • 14.8 复合类型
  • 14.9 存在类型
  • 14.10 本章回顾与下一章提要
  • 第15章 Scala 类型系统(II)
  • 15.1 路径相关类型
  • 15.2 依赖方法类型
  • 15.3 类型投影
  • 15.4 值的类型
  • 15.5 Higher-Kinded类型
  • 15.6 类型Lambda
  • 15.7 自递归类型:F-Bounded多态
  • 15.8 本章回顾与下一章提要
  • 第16章 高级函数式编程
  • 16.1 代数数据类型
  • 16.2 范畴理论
  • 16.3 本章回顾与下一章提要
  • 第17章 并发工具
  • 17.1 scala.sys.process包
  • 17.2 Future类型
  • 17.3 利用Actor模型构造稳固且可扩展的并发应用
  • 17.4 Akka:为Scala设计的Actor系统
  • 17.5 Pickling 和 Spores
  • 17.6 反应式编程
  • 17.7 本章回顾与下一章提要
  • 第18章 Scala 与大数据
  • 18.1 大数据简史
  • 18.2 用Scala改善MapReduce
  • 18.3 超越MapReduce
  • 18.4 数学范畴
  • 18.5 Scala数据工具列表
  • 18.6 本章回顾与下一章提要
  • 第19章 Scala 动态调用
  • 19.1 一个较为激进的示例:Ruby on Rails框架中的ActiveRecord库
  • 19.2 使用动态特征实现Scala中的动态调用
  • 19.3 关于DSL的一些思考
  • 19.4 本章回顾与下一章提要
  • 第20章 Scala 的领域特定语言
  • 20.1 DSL实例:Scala中XML和JSON DSL
  • 20.2 内部DSL
  • 20.3 包含解析组合子的外部DSL
  • 20.4 内部DSL与外部DSL:最后的思考
  • 20.5 本章回顾与下一章提要
  • 第21章 Scala 工具和库
  • 21.1 命令行工具
  • 21.2 构建工具
  • 21.3 与IDE或文本编辑器集成
  • 21.4 在Scala中应用测试驱动开发
  • 21.5 第三方库
  • 21.6 本章回顾与下一章提要
  • 第22章 与 Java 的互操作
  • 22.1 在Scala代码中使用Java名称
  • 22.2 Java泛型与Scala泛型
  • 22.3 JavaBean的性质
  • 22.4 AnyVal类型与Java原生类型
  • 22.5 Java代码中的Scala名称
  • 22.6 本章回顾与下一章提要
  • 第23章 应用程序设计
  • 23.1 回顾之前的内容
  • 23.2 注解
  • 23.3 Trait即模块
  • 23.4 设计模式
  • 23.5 契约式设计带来更好的设计
  • 23.6 帕特农神庙架构
  • 23.7 本章回顾与下一章提要
  • 第24章 元编程:宏与反射
  • 24.1 用于理解类型的工具
  • 24.2 运行时反射
  • 24.3 Scala的高级运行时反射API
  • 24.4 宏
  • 24.5 本章回顾与下一章提要
  • 附录 A 参考文献
  • 作者简介
  • 封面介绍
  • 看完了
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。