万本电子书0元读

万本电子书0元读

顶部广告

Scala实用指南电子书

IT行业正拥抱函数式编程,但面向对象编程经验仍然极富价值。Scala编程语言结合了面向对象编程和函数式编程这两种编程范式的原力,而本书将展示如何有效地结合这两者。 自本书首版出版以来, Scala编程语言已经取得了长足的发展, 这一版在此基础上也行了大幅更新。我们修订了每一章,并添加了3章零6节的新内容来探讨Scala 2.12的新特性。读者将学到如何使用并发集合和Akka的Actor来安全地管理并发,使用值类和改后的隐式转换来创建富有表现力和可读性的代码,使用字符串插值来从数据构建字符串,创建领域特定语言,以及使用尾调用优化来优化递归。

售       价:¥

纸质售价:¥51.30购买纸书

289人正在读 | 0人评论 6.2

作       者:(美) 文卡特·苏帕拉马尼亚姆(Venkat Subramaniam)

出  版  社:人民邮电出版社

出版时间:2018-07-01

字       数:23.1万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是为想要快速学习或者正在学习Scala编程语言的Java发者写的,循序渐地介绍了Scala编程语言的多个方面。 本书共分为4个部分:*部分详细介绍Scala的一些基础知识,并和Java中的相关概念行了参照,方便读者快速上手Scala;第二部分一步介绍Scala的一些中级知识,以及与Java的一些差异,方便读者编写出更简洁的代码;第三部分介绍在Scala中如何行并发编程,并务实地介绍Akka套件;第四部分通过实战练习对前面的知识行综合应用,并系统地介绍如何与Java行互操作。此外,附录部分还包括一些额外指引。 本书的目标读者是对JVM平台上的语言以及函数式编程感兴趣的程序员。阅读本书不需要读者熟悉Scala编程语言,但需要读者具备Java、面向对象编程的背景知识。因为本书以一种非常务实的方式组织内容,所以读者无法学到Scala的所有内容,但是足以应付日常工作,如果想要更全面地学习Scala以及其背后的一些设计理念,则*好辅以其他图书。<br/>【推荐语】<br/>IT行业正拥抱函数式编程,但面向对象编程经验仍然极富价值。Scala编程语言结合了面向对象编程和函数式编程这两种编程范式的原力,而本书将展示如何有效地结合这两者。 自本书首版出版以来, Scala编程语言已经取得了长足的发展, 这一版在此基础上也行了大幅更新。我们修订了每一章,并添加了3章零6节的新内容来探讨Scala 2.12的新特性。读者将学到如何使用并发集合和Akka的Actor来安全地管理并发,使用值类和改后的隐式转换来创建富有表现力和可读性的代码,使用字符串插值来从数据构建字符串,创建领域特定语言,以及使用尾调用优化来优化递归。 无论读者是要创建简洁、健壮的单线程应用程序,还是要编写非常具有表现力、线程安全的并发程序,本书都是读者的良师益友。<br/>【作者】<br/>作者简介 文卡特·苏帕拉马尼亚姆(Venkat Subramaniam)博士 Agile Developer公司的创始人,同时也在休斯敦大学兼任教职。他已经培训和指导了数千名软件发者。他也是多本书籍的(合著)作者,其中包括获得2007年度Jolt“生产力大”(Productivity Award)的《高效程序员的45个习惯:敏捷发修炼之道》一书。 译者简介 沈达 挖财大数据研发工程师, Scala 爱好者与实践者, 专注于大数据和分布式系统。业余时间是GNU TeXmacs的贡献者。 何品 目前是*的一名知名软件工程师,热爱反应式编程,同时也是Akka和Netty等项目的贡献者,活跃于Scala社区。<br/>
目录展开

内容提要

对本书的赞誉

译者序一

译者序二

致谢

前言

资源与支持

第一部分 小试牛刀

第1章 探索Scala

1.1 Scala的特性

1.2 以少胜多

1.3 函数式编程

1.4 小结

第2章 体验Scala

2.1 使用REPL

2.2 命令行上的Scala

2.3 以独立脚本方式运行Scala代码

2.3.1 在类Unix系统上以独立脚本方式运行

2.3.2 在Windows上以独立脚本方式运行

2.3.3 Scala的IDE支持

2.4 编译Scala

2.5 小结

第3章 从Java到Scala

3.1 Scala:简洁的Java

3.1.1 减少样板代码

3.1.2 更多便利特性

3.1.3 转向函数式风格

3.2 Java原始类型对应的Scala类

3.3 元组和多重赋值

3.4 灵活的参数和参数值

3.4.1 传递变长参数值

3.4.2 为参数提供默认值

3.4.3 使用命名参数

3.5 隐式参数

3.6 字符串和多行原始字符串

3.7 字符串插值

3.8 合理的约定

3.9 操作符重载

3.10 Scala与Java的差异

3.10.1 赋值的结果

3.10.2 Scala的==

3.10.3 可有可无的分号

3.10.4 避免显式return

3.11 默认访问修饰符

3.11.1 定制访问修饰

3.11.2 Scala的protected

3.11.3 细粒度的访问控制

3.12 小结

第4章 处理对象

4.1 创建并使用类

4.1.1 创建实例

4.1.2 创建类

4.1.3 定义字段、方法和构造器

4.2 遵循JavaBean惯例

4.3 类型别名

4.4 扩展一个类

4.5 参数化类型

4.6 单例对象和伴生对象

4.6.1 单例对象

4.6.2 独立对象和伴生对象

4.6.3 Scala中的static

4.7 创建枚举类

4.8 包对象

4.9 小结

第5章 善用类型

5.1 类型推断

5.1.1 简单类型的类型推断

5.1.2 针对泛型和集合的类型推断

5.2 基础类型

5.2.1 Any类型

5.2.2 关于Nothing

5.2.3 Option类型

5.2.4 Either类型

5.3 返回值类型推断

5.4 参数化类型的型变

5.4.1 协变和逆变

5.4.2 支持协变

5.4.3 支持逆变

5.4.4 定制集合的型变

5.5 隐式类型转换

5.5.1 隐式函数

5.5.2 隐式类

5.6 值类

5.7 使用隐式转换

5.8 小结

第二部分 深入Scala

第6章 函数值和闭包

6.1 常规函数的局限性

6.2 可扩展性与高阶函数

6.3 具有多个参数的函数值

6.4 柯里化

6.5 参数的占位符

6.6 参数路由

6.7 复用函数值

6.8 部分应用函数

6.9 闭包

6.10 Execute Around Method模式

6.11 小结

第7章 特质

7.1 理解特质

7.2 选择性混入

7.3 使用特质实现装饰器模式

7.4 特质中的方法延迟绑定

7.5 小结

第8章 集合

8.1 常见的Scala集合

8.2 使用Set

8.3 关联映射

8.4 不可变列表

8.5 方法名约定

8.6 for表达式

8.7 小结

第9章 模式匹配和正则表达式

9.1 模式匹配综述

9.1.1 匹配字面量和常量

9.1.2 匹配通配符

9.1.3 匹配元组和列表

9.1.4 匹配类型和守卫

9.2 case表达式中的模式变量和常量

9.3 使用case类进行模式匹配

9.4 提取器和正则表达式

9.4.1 使用提取器进行模式匹配

9.4.2 正则表达式

9.4.3 正则表达式作为提取器

9.5 无处不在的下划线字符

9.6 小结

第10章 处理异常

10.1 Scala中的异常

10.2 注意catch的顺序

10.3 小结

第11章 递归

11.1 一个简单的递归

11.2 尾调用优化(TCO)

11.2.1 常规递归并无优化

11.2.2 用尾调用优化来拯救

11.2.3 确保尾调用优化

11.3 蹦床调用

11.4 小结

第三部分 Scala中的并发编程

第12章 惰性求值和并行集合

12.1 释放惰性

12.2 释放严格集合的惰性

12.3 终极惰性流

12.4 并行集合

12.4.1 从顺序集合入手

12.4.2 使用并行集合加速

12.5 小结

第13章 使用Actor编程

13.1 一个顺序耗时问题

13.2 曲折的并发之路

13.3 创建Actor

13.4 Actor和线程

13.5 隔离可变性

13.6 使用Actor模型进行并发

13.7 使用建议

13.8 小结

第四部分 Scala实战

第14章 和Java进行互操作

14.1 在Scala中使用Scala类

14.2 在Scala中使用Java类

14.3 在Java中使用Scala方法

14.4 在Java中使用特质

14.5 在Java中使用单例对象和伴生对象

14.6 扩展类

14.7 小结

第15章 使用Scala创建应用程序

15.1 获取用户输入

15.2 读写文件

15.3 XML作为一等公民

15.4 读写XML

15.5 从Web获取股票价格

15.6 编写并发的资产净值应用程序

15.7 小结

第16章 单元测试

16.1 使用JUnit

16.2 使用ScalaTest

16.3 使用Mockito

16.3.1 函数式风格的测试

16.3.2 创建一个Mock

16.4 小结

附录A 安装Scala

A.1 下载

A.2 安装

A.2.1 在Windows上安装Scala

A.2.2 在类Unix操作系统上安装Scala

参考文献

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部