快学Scala(第2版)

快学Scala(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: 电子工业出版社
2017-07
版次: 2
ISBN: 9787121319952
定价: 108.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 412页
字数: 458千字
正文语种: 简体中文
  • Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的*佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。通过ScalaJS项目,Scala还可以被编译成JavaScript代码,让我们更便捷高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。 Cay S. Horstmann是《Java核心技术》卷1和卷2第10版(Prentice Hall出版社2016年出版)的作者,此外,他还著有其他十多本面向专业程序员和计算机科学专业学生的书籍。他是San Jose州立大学计算机科学专业的教授,同时也是一位Java Champion。高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala》(第1版)和《Scala编程》等专业书籍。 目  录译者序  V第1版序 XVII前言 XIX作者简介 XXIII第1章 基础 A1  11.1 Scala解释器 11.2 声明值和变量 41.3 常用类型 51.4 算术和操作符重载 71.5 关于方法调用 81.6 apply方法 91.7 Scaladoc  11练习 16第2章 控制结构和函数 A1  192.1 条件表达式 202.2 语句终止 222.3 块表达式和赋值 222.4 输入和输出 232.5 循环 252.6 高级for循环 272.7 函数 282.8 默认参数和带名参数 L1 292.9 变长参数 L1 292.10 过程 312.11 懒值 L1 312.12 异常 32练习 35第3章 数组相关操作 A1  393.1 定长数组 393.2 变长数组:数组缓冲 403.3 遍历数组和数组缓冲 413.4 数组转换 423.5 常用算法 443.6 解读Scaladoc 453.7 多维数组 473.8 与Java的互操作 48练习 49第4章 映射和元组 A1 534.1 构造映射 534.2 获取映射中的值 544.3 更新映射中的值 554.4 迭代映射 564.5 已排序映射 574.6 与Java的互操作 574.7 元组 584.8 拉链操作 59练习 60第5章 类 A1 635.1 简单类和无参方法 635.2 带getter和setter的属性 645.3 只带getter的属性 675.4 对象私有字段 685.5 Bean属性 L1 695.6 辅助构造器 715.7 主构造器 725.8 嵌套类 L175练习 78第6章 对象 A1  816.1 单例对象 816.2 伴生对象 826.3 扩展类或特质的对象 836.4 apply方法 846.5 应用程序对象 856.6 枚举 86练习 87第7章 包和引入 A1  917.1 包 917.2 作用域规则 937.3 串联式包语句 957.4 文件顶部标记法 957.5 包对象 967.6 包可见性 977.7 引入 977.8 任何地方都可以声明引入  987.9 重命名和隐藏方法 997.10 隐式引入 99练习 100第8章 继承 A1  1038.1 扩展类 1038.2 重写方法 1048.3 类型检查和转换 1058.4 受保护字段和方法 1068.5 超类的构造 1068.6 重写字段 1078.7 匿名子类 1098.8 抽象类 1098.9 抽象字段 1108.10 构造顺序和提前定义 L3 1108.11 Scala类继承关系 1128.12 对象相等性 L1 1148.13 值类 L2 116练习 117第9章 文件和正则表达式 A1  1219.1 读取行 1219.2 读取字符 1229.3 读取词法单元和数字 1239.4 从URL或其他源读取 1249.5 读取二进制文件 1249.6 写入文本文件 1249.7 访问目录 1259.8 序列化 1259.9 进程控制 A21269.10 正则表达式 1299.11 正则表达式组 130练习 131第10章 特质 A113510.1 为什么没有多重继承 13510.2 当作接口使用的特质 13710.3 带有具体实现的特质 13810.4 带有特质的对象 13910.5 叠加在一起的特质 14010.6 在特质中重写抽象方法 14110.7 当作富接口使用的特质 14210.8 特质中的具体字段 14310.9 特质中的抽象字段 14410.10 特质构造顺序 14510.11 初始化特质中的字段 14710.12 扩展类的特质 14810.13 自身类型 L2 14910.14 背后发生了什么 151练习 152第11章 操作符 A115711.1 标识符 15711.2 中置操作符 15811.3 一元操作符 15911.4 赋值操作符 16011.5 优先级 16111.6 结合性 16211.7 apply和update方法 16211.8 提取器 L2 16411.9 带单个参数或无参数的提取器 L216611.10 unapplySeq方法 L216711.11 动态调用 L2 167练习 171第12章 高阶函数 L1  17512.1 作为值的函数 17512.2 匿名函数 17712.3 带函数参数的函数 17812.4 参数(类型)推断 17912.5 一些有用的高阶函数 18012.6 闭包 18112.7 SAM转换 18212.8 柯里化 18312.9 控制抽象 18512.10 return表达式 186练习 187第13章 集合 A219113.1 主要的集合特质 19213.2 可变和不可变集合 19313.3 序列 19513.4 列表 19613.5 集  19713.6 用于添加或去除元素的操作符 19813.7 常用方法 20113.8 将函数映射到集合 20313.9 化简、折叠和扫描 A3 20513.10 拉链操作 20913.11 迭代器 21013.12 流 A3 21113.13 懒视图 A3 21313.14 与Java集合的互操作 21313.15 并行集合 215练习 217第14章 模式匹配和样例类 A2  22114.1 更好的switch 22214.2 守卫 22314.3 模式中的变量 22314.4 类型模式 22414.5 匹配数组、列表和元组 22514.6 提取器 22714.7 变量声明中的模式 22714.8 for表达式中的模式 22914.9 样例类 22914.10 copy方法和带名参数 23014.11 case语句中的中置表示法 23114.12 匹配嵌套结构 23214.13 样例类是邪恶的吗 23314.14 密封类 23414.15 模拟枚举 23514.16 Option类型 23514.17 偏函数 L2 236练习 238第15章 注解 A224315.1 什么是注解 24315.2 什么可以被注解 24415.3 注解参数 24515.4 注解实现 24615.5 针对Java特性的注解 24715.5.1 Java修饰符 24715.5.2 标记接口 24815.5.3 受检异常 24915.5.4 变长参数 24915.5.5 JavaBeans  25015.6 用于优化的注解 25015.6.1 尾递归 .25015.6.2 跳转表生成与内联 25215.6.3 可省略方法 25315.6.4 基本类型的特殊化 25415.7 用于错误和警告的注解 255练习 256第16章 XML处理 A2  25916.1 XML字面量 26016.2 XML节点 26016.3 元素属性 26216.4 内嵌表达式 26316.5 在属性中使用表达式 26416.6 特殊节点类型 26516.7 类XPath表达式 26616.8 模式匹配 26716.9 修改元素和属性 26816.10 XML变换 26916.11 加载和保存 27016.12 命名空间 273练习 275第17章 Future A2 27717.1 在future中运行任务 27817.2 等待结果 28017.3 Try类 28117.4 回调 28217.5 组合future任务 28317.6 其他future变换 28617.7 Future对象中的方法 28817.8 Promise  28917.9 执行上下文 291练习 292第18章 类型参数 L2 29718.1 泛型类 29818.2 泛型函数 29818.3 类型变量界定 29818.4 视图界定 30018.5 上下文界定 30118.6 ClassTag上下文界定 30118.7 多重界定 30218.8 类型约束 L330218.9 型变 30418.10 协变和逆变点 30518.11 对象不能泛型 30718.12 类型通配符 308练习 309第19章 高级类型 L2 31319.1 单例类型 31319.2 类型投影 31519.3 路径 31619.4 类型别名 31719.5 结构类型 31819.6 复合类型 31919.7 中置类型 32019.8 存在类型 32119.9 Scala类型系统 32219.10 自身类型 32319.11 依赖注入 32519.12 抽象类型 L3 32719.13 家族多态 L3 32919.14 高等类型 L3 333练习 336第20章 解析 A3  34120.1 文法 34220.2 组合解析器操作 34320.3 解析器结果变换 34520.4 丢弃词法单元 34720.5 生成解析树 34820.6 避免左递归 34820.7 更多的组合子 35020.8 避免回溯 35220.9 记忆式解析器 35320.10 解析器说到底是什么 35420.11 正则解析器 35520.12 基于词法单元的解析器 35620.13 错误处理 358练习 359第21章 隐式转换和隐式参数 L3. 36321.1 隐式转换 36321.2 利用隐式转换丰富现有类库的功能 36421.3 引入隐式转换 36521.4 隐式转换规则 36721.5 隐式参数 36821.6 利用隐式参数进行隐式转换 37021.7 上下文界定 37121.8 类型类 37221.9 类型证明 37421.10 @implicitNotFound注解 37621.11 CanBuildFrom解读  376练习 379词汇表 381
  • 内容简介:
    Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的*佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。通过ScalaJS项目,Scala还可以被编译成JavaScript代码,让我们更便捷高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。
  • 作者简介:
    Cay S. Horstmann是《Java核心技术》卷1和卷2第10版(Prentice Hall出版社2016年出版)的作者,此外,他还著有其他十多本面向专业程序员和计算机科学专业学生的书籍。他是San Jose州立大学计算机科学专业的教授,同时也是一位Java Champion。高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala》(第1版)和《Scala编程》等专业书籍。
  • 目录:
    目  录译者序  V第1版序 XVII前言 XIX作者简介 XXIII第1章 基础 A1  11.1 Scala解释器 11.2 声明值和变量 41.3 常用类型 51.4 算术和操作符重载 71.5 关于方法调用 81.6 apply方法 91.7 Scaladoc  11练习 16第2章 控制结构和函数 A1  192.1 条件表达式 202.2 语句终止 222.3 块表达式和赋值 222.4 输入和输出 232.5 循环 252.6 高级for循环 272.7 函数 282.8 默认参数和带名参数 L1 292.9 变长参数 L1 292.10 过程 312.11 懒值 L1 312.12 异常 32练习 35第3章 数组相关操作 A1  393.1 定长数组 393.2 变长数组:数组缓冲 403.3 遍历数组和数组缓冲 413.4 数组转换 423.5 常用算法 443.6 解读Scaladoc 453.7 多维数组 473.8 与Java的互操作 48练习 49第4章 映射和元组 A1 534.1 构造映射 534.2 获取映射中的值 544.3 更新映射中的值 554.4 迭代映射 564.5 已排序映射 574.6 与Java的互操作 574.7 元组 584.8 拉链操作 59练习 60第5章 类 A1 635.1 简单类和无参方法 635.2 带getter和setter的属性 645.3 只带getter的属性 675.4 对象私有字段 685.5 Bean属性 L1 695.6 辅助构造器 715.7 主构造器 725.8 嵌套类 L175练习 78第6章 对象 A1  816.1 单例对象 816.2 伴生对象 826.3 扩展类或特质的对象 836.4 apply方法 846.5 应用程序对象 856.6 枚举 86练习 87第7章 包和引入 A1  917.1 包 917.2 作用域规则 937.3 串联式包语句 957.4 文件顶部标记法 957.5 包对象 967.6 包可见性 977.7 引入 977.8 任何地方都可以声明引入  987.9 重命名和隐藏方法 997.10 隐式引入 99练习 100第8章 继承 A1  1038.1 扩展类 1038.2 重写方法 1048.3 类型检查和转换 1058.4 受保护字段和方法 1068.5 超类的构造 1068.6 重写字段 1078.7 匿名子类 1098.8 抽象类 1098.9 抽象字段 1108.10 构造顺序和提前定义 L3 1108.11 Scala类继承关系 1128.12 对象相等性 L1 1148.13 值类 L2 116练习 117第9章 文件和正则表达式 A1  1219.1 读取行 1219.2 读取字符 1229.3 读取词法单元和数字 1239.4 从URL或其他源读取 1249.5 读取二进制文件 1249.6 写入文本文件 1249.7 访问目录 1259.8 序列化 1259.9 进程控制 A21269.10 正则表达式 1299.11 正则表达式组 130练习 131第10章 特质 A113510.1 为什么没有多重继承 13510.2 当作接口使用的特质 13710.3 带有具体实现的特质 13810.4 带有特质的对象 13910.5 叠加在一起的特质 14010.6 在特质中重写抽象方法 14110.7 当作富接口使用的特质 14210.8 特质中的具体字段 14310.9 特质中的抽象字段 14410.10 特质构造顺序 14510.11 初始化特质中的字段 14710.12 扩展类的特质 14810.13 自身类型 L2 14910.14 背后发生了什么 151练习 152第11章 操作符 A115711.1 标识符 15711.2 中置操作符 15811.3 一元操作符 15911.4 赋值操作符 16011.5 优先级 16111.6 结合性 16211.7 apply和update方法 16211.8 提取器 L2 16411.9 带单个参数或无参数的提取器 L216611.10 unapplySeq方法 L216711.11 动态调用 L2 167练习 171第12章 高阶函数 L1  17512.1 作为值的函数 17512.2 匿名函数 17712.3 带函数参数的函数 17812.4 参数(类型)推断 17912.5 一些有用的高阶函数 18012.6 闭包 18112.7 SAM转换 18212.8 柯里化 18312.9 控制抽象 18512.10 return表达式 186练习 187第13章 集合 A219113.1 主要的集合特质 19213.2 可变和不可变集合 19313.3 序列 19513.4 列表 19613.5 集  19713.6 用于添加或去除元素的操作符 19813.7 常用方法 20113.8 将函数映射到集合 20313.9 化简、折叠和扫描 A3 20513.10 拉链操作 20913.11 迭代器 21013.12 流 A3 21113.13 懒视图 A3 21313.14 与Java集合的互操作 21313.15 并行集合 215练习 217第14章 模式匹配和样例类 A2  22114.1 更好的switch 22214.2 守卫 22314.3 模式中的变量 22314.4 类型模式 22414.5 匹配数组、列表和元组 22514.6 提取器 22714.7 变量声明中的模式 22714.8 for表达式中的模式 22914.9 样例类 22914.10 copy方法和带名参数 23014.11 case语句中的中置表示法 23114.12 匹配嵌套结构 23214.13 样例类是邪恶的吗 23314.14 密封类 23414.15 模拟枚举 23514.16 Option类型 23514.17 偏函数 L2 236练习 238第15章 注解 A224315.1 什么是注解 24315.2 什么可以被注解 24415.3 注解参数 24515.4 注解实现 24615.5 针对Java特性的注解 24715.5.1 Java修饰符 24715.5.2 标记接口 24815.5.3 受检异常 24915.5.4 变长参数 24915.5.5 JavaBeans  25015.6 用于优化的注解 25015.6.1 尾递归 .25015.6.2 跳转表生成与内联 25215.6.3 可省略方法 25315.6.4 基本类型的特殊化 25415.7 用于错误和警告的注解 255练习 256第16章 XML处理 A2  25916.1 XML字面量 26016.2 XML节点 26016.3 元素属性 26216.4 内嵌表达式 26316.5 在属性中使用表达式 26416.6 特殊节点类型 26516.7 类XPath表达式 26616.8 模式匹配 26716.9 修改元素和属性 26816.10 XML变换 26916.11 加载和保存 27016.12 命名空间 273练习 275第17章 Future A2 27717.1 在future中运行任务 27817.2 等待结果 28017.3 Try类 28117.4 回调 28217.5 组合future任务 28317.6 其他future变换 28617.7 Future对象中的方法 28817.8 Promise  28917.9 执行上下文 291练习 292第18章 类型参数 L2 29718.1 泛型类 29818.2 泛型函数 29818.3 类型变量界定 29818.4 视图界定 30018.5 上下文界定 30118.6 ClassTag上下文界定 30118.7 多重界定 30218.8 类型约束 L330218.9 型变 30418.10 协变和逆变点 30518.11 对象不能泛型 30718.12 类型通配符 308练习 309第19章 高级类型 L2 31319.1 单例类型 31319.2 类型投影 31519.3 路径 31619.4 类型别名 31719.5 结构类型 31819.6 复合类型 31919.7 中置类型 32019.8 存在类型 32119.9 Scala类型系统 32219.10 自身类型 32319.11 依赖注入 32519.12 抽象类型 L3 32719.13 家族多态 L3 32919.14 高等类型 L3 333练习 336第20章 解析 A3  34120.1 文法 34220.2 组合解析器操作 34320.3 解析器结果变换 34520.4 丢弃词法单元 34720.5 生成解析树 34820.6 避免左递归 34820.7 更多的组合子 35020.8 避免回溯 35220.9 记忆式解析器 35320.10 解析器说到底是什么 35420.11 正则解析器 35520.12 基于词法单元的解析器 35620.13 错误处理 358练习 359第21章 隐式转换和隐式参数 L3. 36321.1 隐式转换 36321.2 利用隐式转换丰富现有类库的功能 36421.3 引入隐式转换 36521.4 隐式转换规则 36721.5 隐式参数 36821.6 利用隐式参数进行隐式转换 37021.7 上下文界定 37121.8 类型类 37221.9 类型证明 37421.10 @implicitNotFound注解 37621.11 CanBuildFrom解读  376练习 379词汇表 381
查看详情
好书推荐 / 更多
快学Scala(第2版)
克拉拉与太阳
[英]石黑一雄 著;宋佥 译
快学Scala(第2版)
唱吧!未安葬的魂灵(杰丝米妮·瓦德作品)
杰丝米妮·瓦德 著;孙麟 译
快学Scala(第2版)
浪漫的谎言与小说的真实
[法]勒内·基拉尔 著;罗芃 译
快学Scala(第2版)
与时俱进的启蒙
徐贲
快学Scala(第2版)
人类的自我发现之旅
孙洵伟 后浪 译者;[加拿大]基思·奥特利
快学Scala(第2版)
法国之魂:巴黎圣母院的前世今生
张恒杰 译;斯坦威 出品;[法]阿涅丝·普瓦里耶
快学Scala(第2版)
资本的秩序
马可·斯皮茨纳格尔(Mark Spitznagel) 著;郑磊 刘子未 郑扬洋 译
快学Scala(第2版)
变动的城市
[英]阿诺德·汤因比 著;倪凯 译
快学Scala(第2版)
甲骨文丛书·1945年的六个月:从盟友到对抗
董旻杰 译;迈克尔·多布斯(Michael Dobbs);王小伟
快学Scala(第2版)
魏玛德国:希望与悲剧
[美]埃里克·韦茨
快学Scala(第2版)
餐桌上的危机
[美]玛丽安·麦克纳(Maryn McKenna)
快学Scala(第2版)
桌游简史
[英]阿德里安·塞维尔 著;王晶 译