Scala实用指南
新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。
¥
41.88
6.1折
¥
69
全新
库存5件
作者(美)文卡特·苏帕拉马尼亚姆(Venkat Subramaniam) 著;何品,沈达 译
出版社人民邮电出版社
ISBN9787115483560
出版时间2018-07
装帧平装
开本16开
定价69元
货号1201713132
上书时间2024-10-12
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
文卡特·苏帕拉马尼亚姆(Venkat Subramaniam),博士,Agile Developer公司的创始人,同时也在休斯敦大学兼任教职。他已经培训和指导了数千名软件开发者。他也是多本书籍的(合著)作者,其中包括获得2007年度Jolt“生产力大”(Productivity Award)的《高效程序员的45个习惯:敏捷开发修炼之道》一书。
沈达,挖财大数据研发工程师, Scala 爱好者与实践者, 专注于大数据和分布式系统。业余时间是GNU TeXmacs的贡献者。
何品,目前是淘宝的一名知名软件工程师,热爱反应式编程,同时也是Akka和Netty等项目的贡献者,活跃于Scala社区。
目录
部分小试牛刀1
章探索Scala3
1.1Scala的特性3
1.2以少胜多4
1.3函数式编程8
1.4小结11
第2章体验Scala12
2.1使用REPL12
2.2命令行上的Scala14
2.3以独立脚本方式运行Scala代码15
2.3.1在类Unix系统上以独立脚本方式运行15
2.3.2在Windows上以独立脚本方式运行16
2.3.3Scala的IDE支持16
2.4编译Scala17
2.5小结17
第3章从Java到Scala18
3.1Scala:简洁的Java18
3.1.1减少样板代码18
3.1.2更多便利特性19
3.1.3转向函数式风格21
3.2Java原始类型对应的Scala类21
3.3元组和多重赋值22
3.4灵活的参数和参数值24
3.4.1传递变长参数值24
3.4.2为参数提供默认值25
3.4.3使用命名参数26
3.5隐式参数27
3.6字符串和多行原始字符串29
3.7字符串插值30
3.8合理的约定32
3.9操作符重载33
3.10Scala与Java的差异35
3.10.1赋值的结果36
3.10.2Scala的==36
3.10.3可有可无的分号37
3.10.4避免显式return38
3.11默认访问修饰符39
3.11.1定制访问修饰39
3.11.2Scala的protected40
3.11.3细粒度的访问控制41
3.12小结43
第4章处理对象44
4.1创建并使用类44
4.1.1创建实例44
4.1.2创建类45
4.1.3定义字段、方法和构造器46
4.2遵循JavaBean惯例49
4.3类型别名50
4.4扩展一个类51
4.5参数化类型52
4.6单例对象和伴生对象54
4.6.1单例对象54
4.6.2独立对象和伴生对象56
4.6.3Scala中的static57
4.7创建枚举类59
4.8包对象60
4.9小结63
第5章善用类型64
5.1类型推断64
5.1.1简单类型的类型推断64
5.1.2针对泛型和集合的类型推断66
5.2基础类型68
5.2.1Any类型68
5.2.2关于Nothing69
5.2.3Option类型70
5.2.4Either类型71
5.3返回值类型推断73
5.4参数化类型的型变75
5.4.1协变和逆变75
5.4.2支持协变76
5.4.3支持逆变77
5.4.4定制集合的型变78
5.5隐式类型转换78
5.5.1隐式函数79
5.5.2隐式类81
5.6值类83
5.7使用隐式转换86
5.8小结88
第二部分深入Scala89
第6章函数值和闭包91
6.1常规函数的局限性91
6.2可扩展性与高阶函数92
6.3具有多个参数的函数值93
6.4柯里化96
6.5参数的占位符97
6.6参数路由98
6.7复用函数值99
6.8部分应用函数101
6.9闭包102
6.10ExecuteAroundMethod模式103
6.11小结106
第7章特质107
7.1理解特质107
7.2选择性混入110
7.3使用特质实现装饰器模式111
7.4特质中的方法延迟绑定113
7.5小结115
第8章集合116
8.1常见的Scala集合116
8.2使用Set118
8.3关联映射119
8.4不可变列表121
8.5方法名约定124
8.6for表达式126
8.7小结128
第9章模式匹配和正则表达式129
9.1模式匹配综述129
9.1.1匹配字面量和常量129
9.1.2匹配通配符130
9.1.3匹配元组和列表131
9.1.4匹配类型和守卫132
9.2case表达式中的模式变量和常量133
9.3使用case类进行模式匹配135
9.4提取器和正则表达式138
9.4.1使用提取器进行模式匹配138
9.4.2正则表达式141
9.4.3正则表达式作为提取器142
9.5无处不在的下划线字符143
9.6小结144
0章处理异常145
10.1Scala中的异常145
10.2注意catch的顺序147
10.3小结149
1章递归150
11.1一个简单的递归150
11.2尾调用优化(TCO)151
11.2.1常规递归并无优化152
11.2.2用尾调用优化来拯救152
11.2.3确保尾调用优化154
11.3蹦床调用155
11.4小结158
第三部分Scala中的并发编程159
2章惰性求值和并行集合161
12.1释放惰性161
12.2释放严格集合的惰性164
12.3终极惰性流167
12.4并行集合170
12.4.1从顺序集合入手171
12.4.2使用并行集合加速173
12.5小结175
3章使用Actor编程176
13.1一个顺序耗时问题176
13.2曲折的并发之路178
13.3创建Actor179
13.4Actor和线程181
13.5隔离可变性182
13.6使用Actor模型进行并发186
13.7使用建议189
13.8小结190
第四部分Scala实战191
4章和Java进行互操作193
14.1在Scala中使用Scala类193
14.2在Scala中使用Java类195
14.3在Java中使用Scala方法197
14.4在Java中使用特质198
14.5在Java中使用单例对象和伴生对象201
14.6扩展类203
14.7小结204
5章使用Scala创建应用程序205
15.1获取用户输入205
15.2读写文件206
15.3XML作为一等公民207
15.4读写XML210
15.5从Web获取股票价格213
15.6编写并发的资产净值应用程序216
15.7小结217
6章单元测试218
16.1使用JUnit218
16.2使用ScalaTest220
16.3使用Mockito221
16.3.1函数式风格的测试221
16.3.2创建一个Mock223
16.4小结227
附录A安装Scala228
参考文献230
内容摘要
本书是为想要快速学习或者正在学习Scala编程语言的Java开发者写的,循序渐进地介绍了Scala编程语言的多个方面。本书共分为4个部分:靠前部分详细介绍Scala的一些基础知识,并和Java中的相关概念进行了参照,方便读者快速上手Scala;第二部分进一步介绍Scala的一些中级知识,以及与Java的一些差异点,方便读者编写出更简洁的代码;第三部分介绍在Scala中如何进行并发编程,并务实地介绍Akka套件;第四部分通过实战练习对前面的知识进行综合应用,并系统地介绍如何与Java进行互操作。此外,附录部分还包括一些额外指引。本书的目标读者是对JVM平台上的语言以及函数式编程感兴趣的程序员。阅读本书不需要读者熟悉Scala编程语言,但需要读者具备Java、面向对象编程的背景知识。因为本书以一种很好务实的方式组织内容,所以读者无法学到Scala的所有内容,但是足以应付日常工作,如果想要更全面地学习Scala以及其背后的一些设计理念,则优选辅以其他图书。
— 没有更多了 —
以下为对购买帮助不大的评价