失效链接处理 |
快学Scala 第2版 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/25118938.html
相关截图:
资料简介: Scala是一门主要以Java虚拟机(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 |