当前位置:主页 > 计算机电子书 > 计算机理论 > Scala下载
快学Scala

快学Scala PDF 英文第2版

  • 更新:2020-05-09
  • 大小:15.2 MB
  • 类别:Scala
  • 作者:(美)Cay、S.、Horstmann
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Scala相拥函数式编程设计风格,又沒有抛下面向对象编程的程序编写现代性,能够 编写出比Java更精减的程序流程。因为运作在JVM之中,可浏览一切Java类库,能跟Java架构互操作,也更非常容易地充分发挥并发编程的杀伤力。

快学Scala(第2版)》详细介绍Scala这些能给你迅速入门干活的关键定义和方法,却并不尝试穷举法全部語言特性,也不会用冗杂、过度机巧的实例来,只是细心掂量事例和训练,依照清楚界定的能力等级引导你变成权威专家。

*迅速了解Scala编译器、英语的语法、专用工具和特有的应用习惯性
*把握关键語言特性:涵数、数组、投射、元组、包、导入、异常处理等
*了解Scala面向对象思想:类、承继和个性特征
*应用Scala解决现实世界的程序编写每日任务:实际操作文档、正则表达式和XML
*应用高阶函数和功能齐全的Scala结合类库
*利用Scala强劲的模式匹配和示例类
*利用Scala的future搭建并发程序
*完成行业特殊語言
*了解Scala种类系统软件
*运用高級的“超强力专用工具”,如注释、隐式变换和隐式主要参数、种类类等

Scala是一门关键以Javavm虚拟机(JVM)为总体目标软件环境并将面向对象编程和函数式编程語言的*特性融合在一起的计算机语言。你能应用Scala编写出更为精减的程序流程,另外充足利用高并发的杀伤力。因为Scala默认设置运作于JVM之中,因而它能够 浏览一切Java类库而且与Java架构开展互操作。根据ScalaJS新项目,Scala还能够被编写出JavaScript编码,我们一起更方便快捷高效率地开发设计Web运用。这书从好用视角考虑,得出了一份迅速的、根据编码的新手入门手册。Horstmann以“网络文章尺寸”的篇数详细介绍了Scala的定义,让你能迅速地把握和运用。事实上手的实际操作,清楚界定的能力层级,从初中级到大师级,全线具体指导。合适有一定的Java程序编写工作经验、对Scala很感兴趣,并期待尽早把握Scala关键定义和使用方法的开发人员阅读文章。

目录

  • 译者序 V
  • 第1版序 XVII
  • 前言 XIX
  • 作者简介 XXIII
  • 第1章 基础 A1 1
  • 1.1 Scala解释器 1
  • 1.2 声明值和变量 4
  • 1.3 常用类型 5
  • 1.4 算术和操作符重载 7
  • 1.5 关于方法调用 8
  • 1.6 apply方法 9
  • 1.7 Scaladoc 11
  • 练习 16
  • 第2章 控制结构和函数 A1 19
  • 2.1 条件表达式 20
  • 2.2 语句终止 22
  • 2.3 块表达式和赋值 22
  • 2.4 输入和输出 23
  • 2.5 循环 25
  • 2.6 高级for循环 27
  • 2.7 函数 28
  • 2.8 默认参数和带名参数 L1 29
  • 2.9 变长参数 L1 29
  • 2.10 过程 31
  • 2.11 懒值 L1 31
  • 2.12 异常 32
  • 练习 35
  • 第3章 数组相关操作 A1 39
  • 3.1 定长数组 39
  • 3.2 变长数组:数组缓冲 40
  • 3.3 遍历数组和数组缓冲 41
  • 3.4 数组转换 42
  • 3.5 常用算法 44
  • 3.6 解读Scaladoc 45
  • 3.7 多维数组 47
  • 3.8 与Java的互操作 48
  • 练习 49
  • 第4章 映射和元组 A1 53
  • 4.1 构造映射 53
  • 4.2 获取映射中的值 54
  • 4.3 更新映射中的值 55
  • 4.4 迭代映射 56
  • 4.5 已排序映射 57
  • 4.6 与Java的互操作 57
  • 4.7 元组 58
  • 4.8 拉链操作 59
  • 练习 60
  • 第5章 类 A1 63
  • 5.1 简单类和无参方法 63
  • 5.2 带getter和setter的属性 64
  • 5.3 只带getter的属性 67
  • 5.4 对象私有字段 68
  • 5.5 Bean属性 L1 69
  • 5.6 辅助构造器 71
  • 5.7 主构造器 72
  • 5.8 嵌套类 L175
  • 练习 78
  • 第6章 对象 A1 81
  • 6.1 单例对象 81
  • 6.2 伴生对象 82
  • 6.3 扩展类或特质的对象 83
  • 6.4 apply方法 84
  • 6.5 应用程序对象 85
  • 6.6 枚举 86
  • 练习 87
  • 第7章 包和引入 A1 91
  • 7.1 包 91
  • 7.2 作用域规则 93
  • 7.3 串联式包语句 95
  • 7.4 文件顶部标记法 95
  • 7.5 包对象 96
  • 7.6 包可见性 97
  • 7.7 引入 97
  • 7.8 任何地方都可以声明引入 98
  • 7.9 重命名和隐藏方法 99
  • 7.10 隐式引入 99
  • 练习 100
  • 第8章 继承 A1 103
  • 8.1 扩展类 103
  • 8.2 重写方法 104
  • 8.3 类型检查和转换 105
  • 8.4 受保护字段和方法 106
  • 8.5 超类的构造 106
  • 8.6 重写字段 107
  • 8.7 匿名子类 109
  • 8.8 抽象类 109
  • 8.9 抽象字段 110
  • 8.10 构造顺序和提前定义 L3 110
  • 8.11 Scala类继承关系 112
  • 8.12 对象相等性 L1 114
  • 8.13 值类 L2 116
  • 练习 117
  • 第9章 文件和正则表达式 A1 121
  • 9.1 读取行 121
  • 9.2 读取字符 122
  • 9.3 读取词法单元和数字 123
  • 9.4 从URL或其他源读取 124
  • 9.5 读取二进制文件 124
  • 9.6 写入文本文件 124
  • 9.7 访问目录 125
  • 9.8 序列化 125
  • 9.9 进程控制 A2126
  • 9.10 正则表达式 129
  • 9.11 正则表达式组 130
  • 练习 131
  • 第10章 特质 A1135
  • 10.1 为什么没有多重继承 135
  • 10.2 当作接口使用的特质 137
  • 10.3 带有具体实现的特质 138
  • 10.4 带有特质的对象 139
  • 10.5 叠加在一起的特质 140
  • 10.6 在特质中重写抽象方法 141
  • 10.7 当作富接口使用的特质 142
  • 10.8 特质中的具体字段 143
  • 10.9 特质中的抽象字段 144
  • 10.10 特质构造顺序 145
  • 10.11 初始化特质中的字段 147
  • 10.12 扩展类的特质 148
  • 10.13 自身类型 L2 149
  • 10.14 背后发生了什么 151
  • 练习 152
  • 第11章 操作符 A1157
  • 11.1 标识符 157
  • 11.2 中置操作符 158
  • 11.3 一元操作符 159
  • 11.4 赋值操作符 160
  • 11.5 优先级 161
  • 11.6 结合性 162
  • 11.7 apply和update方法 162
  • 11.8 提取器 L2 164
  • 11.9 带单个参数或无参数的提取器 L2166
  • 11.10 unapplySeq方法 L2167
  • 11.11 动态调用 L2 167
  • 练习 171
  • 第12章 高阶函数 L1 175
  • 12.1 作为值的函数 175
  • 12.2 匿名函数 177
  • 12.3 带函数参数的函数 178
  • 12.4 参数(类型)推断 179
  • 12.5 一些有用的高阶函数 180
  • 12.6 闭包 181
  • 12.7 SAM转换 182
  • 12.8 柯里化 183
  • 12.9 控制抽象 185
  • 12.10 return表达式 186
  • 练习 187
  • 第13章 集合 A2191
  • 13.1 主要的集合特质 192
  • 13.2 可变和不可变集合 193
  • 13.3 序列 195
  • 13.4 列表 196
  • 13.5 集 197
  • 13.6 用于添加或去除元素的操作符 198
  • 13.7 常用方法 201
  • 13.8 将函数映射到集合 203
  • 13.9 化简、折叠和扫描 A3 205
  • 13.10 拉链操作 209
  • 13.11 迭代器 210
  • 13.12 流 A3 211
  • 13.13 懒视图 A3 213
  • 13.14 与Java集合的互操作 213
  • 13.15 并行集合 215
  • 练习 217
  • 第14章 模式匹配和样例类 A2 221
  • 14.1 更好的switch 222
  • 14.2 守卫 223
  • 14.3 模式中的变量 223
  • 14.4 类型模式 224
  • 14.5 匹配数组、列表和元组 225
  • 14.6 提取器 227
  • 14.7 变量声明中的模式 227
  • 14.8 for表达式中的模式 229
  • 14.9 样例类 229
  • 14.10 copy方法和带名参数 230
  • 14.11 case语句中的中置表示法 231
  • 14.12 匹配嵌套结构 232
  • 14.13 样例类是邪恶的吗 233
  • 14.14 密封类 234
  • 14.15 模拟枚举 235
  • 14.16 Option类型 235
  • 14.17 偏函数 L2 236
  • 练习 238
  • 第15章 注解 A2243
  • 15.1 什么是注解 243
  • 15.2 什么可以被注解 244
  • 15.3 注解参数 245
  • 15.4 注解实现 246
  • 15.5 针对Java特性的注解 247
  • 15.5.1 Java修饰符 247
  • 15.5.2 标记接口 248
  • 15.5.3 受检异常 249
  • 15.5.4 变长参数 249
  • 15.5.5 JavaBeans 250
  • 15.6 用于优化的注解 250
  • 15.6.1 尾递归 .250
  • 15.6.2 跳转表生成与内联 252
  • 15.6.3 可省略方法 253
  • 15.6.4 基本类型的特殊化 254
  • 15.7 用于错误和警告的注解 255
  • 练习 256
  • 第16章 XML处理 A2 259
  • 16.1 XML字面量 260
  • 16.2 XML节点 260
  • 16.3 元素属性 262
  • 16.4 内嵌表达式 263
  • 16.5 在属性中使用表达式 264
  • 16.6 特殊节点类型 265
  • 16.7 类XPath表达式 266
  • 16.8 模式匹配 267
  • 16.9 修改元素和属性 268
  • 16.10 XML变换 269
  • 16.11 加载和保存 270
  • 16.12 命名空间 273
  • 练习 275
  • 第17章 Future A2 277
  • 17.1 在future中运行任务 278
  • 17.2 等待结果 280
  • 17.3 Try类 281
  • 17.4 回调 282
  • 17.5 组合future任务 283
  • 17.6 其他future变换 286
  • 17.7 Future对象中的方法 288
  • 17.8 Promise 289
  • 17.9 执行上下文 291
  • 练习 292
  • 第18章 类型参数 L2 297
  • 18.1 泛型类 298
  • 18.2 泛型函数 298
  • 18.3 类型变量界定 298
  • 18.4 视图界定 300
  • 18.5 上下文界定 301
  • 18.6 ClassTag上下文界定 301
  • 18.7 多重界定 302
  • 18.8 类型约束 L3302
  • 18.9 型变 304
  • 18.10 协变和逆变点 305
  • 18.11 对象不能泛型 307
  • 18.12 类型通配符 308
  • 练习 309
  • 第19章 高级类型 L2 313
  • 19.1 单例类型 313
  • 19.2 类型投影 315
  • 19.3 路径 316
  • 19.4 类型别名 317
  • 19.5 结构类型 318
  • 19.6 复合类型 319
  • 19.7 中置类型 320
  • 19.8 存在类型 321
  • 19.9 Scala类型系统 322
  • 19.10 自身类型 323
  • 19.11 依赖注入 325
  • 19.12 抽象类型 L3 327
  • 19.13 家族多态 L3 329
  • 19.14 高等类型 L3 333
  • 练习 336
  • 第20章 解析 A3 341
  • 20.1 文法 342
  • 20.2 组合解析器操作 343
  • 20.3 解析器结果变换 345
  • 20.4 丢弃词法单元 347
  • 20.5 生成解析树 348
  • 20.6 避免左递归 348
  • 20.7 更多的组合子 350
  • 20.8 避免回溯 352
  • 20.9 记忆式解析器 353
  • 20.10 解析器说到底是什么 354
  • 20.11 正则解析器 355
  • 20.12 基于词法单元的解析器 356
  • 20.13 错误处理 358
  • 练习 359
  • 第21章 隐式转换和隐式参数 L3. 363
  • 21.1 隐式转换 363
  • 21.2 利用隐式转换丰富现有类库的功能 364
  • 21.3 引入隐式转换 365
  • 21.4 隐式转换规则 367
  • 21.5 隐式参数 368
  • 21.6 利用隐式参数进行隐式转换 370
  • 21.7 上下文界定 371
  • 21.8 类型类 372
  • 21.9 类型证明 374
  • 21.10 @implicitNotFound注解 376
  • 21.11 CanBuildFrom解读 376
  • 练习 379
  • 词汇表 381

资源下载

资源下载地址1:https://pan.baidu.com/s/1k9CD5izQ4pfSi-SAIqo7ug

相关资源

网友留言