快学Scala

百科

《快学Scala(第2版)》 一书原作者Cay S来自. Horstmann (凯.S.霍斯特曼),中文版由高宇翔 译,360百科电子工业出版社2017年7月出版

  • 书名 快学Scala(第2版)
  • 作者 【美】Cay S. Horstmann (凯.S.霍斯特曼)
  • 译者 高宇翔
  • ISBN 978-7-121-31995-2
  • 页数 412

内容提要

  Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用S来自cala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作,比如Scala可以被编译成JavaScript代码,让我们更便捷、高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以"博客文章大小"的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。《快学Scala(第2版)》用易于上手的操作、清晰定义的能力层次,为从初学者到专家的各阶段读者提供全程指导。

  《快学Scala(第2版)》适合有一定Java编程经验、对Sc360百科ala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。

目录

  译者序. V

  第1版序.XVII

  前言.XIX

  作者简介.X劳众航草丰万作集别下XIII

  第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 Scaladoc11

  练习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 嵌套类 L1 75

  练习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 串联式包语句9跟管坐至挥附5

  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 对象相等性 L1114

  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章 特质 A1 135

  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章 操作符 A1 157

  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 带单个参数或无参数的提取器 L2 166

  11.10 unapplySeq方法 L2 167

  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章 集合 A2 191

  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 化简、折叠和扫描 A3205

  13.10 拉链操作 209

  13.11 迭代器 210

  13.12 流 A3 211

  13.13 懒视图 A3213

  13.14 与Java集合的互操作 213

  13.15 并行集合 215

  练习 217

  第14章 模式匹配和样例类 A2 221

  14.1 更好的switch222

  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章 注解 A2 243

  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 类型约束 L3 302

  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

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com