互联网
类型
8.4
豆瓣评分
可以朗读
语音朗读
619千字
字数
2016-03-01
发行日期
展开全部
主编推荐语
详细说明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月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。