欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Scala(速学版第3版)
      • 作者:(美)凯·S.霍斯特曼|责编:陈灿然|译者:李晗
      • 出版社:人民邮电
      • ISBN:9787115647627
      • 出版日期:2024/08/01
      • 页数:252
    • 售价:35.92
  • 内容大纲

        本书是一本系统地介绍Scala语言的入门图书,针对Scala 3进行了全面的更新,不仅覆盖了Scala语言的基础知识,而且涵盖了许多更复杂的概念,并最终深入到非常高级的内容。
        本书共分20章,首先介绍了Scala语言的基础概念,以及控制结构和函数、数组操作、映射、Option、元组、类、对象和枚举、包、导入和导出、继承、文件和正则表达式等关键概念;其次介绍了特质、运算符、高阶函数、容器、模式匹配、注解、Future、类型参数、高级类型、上下文抽象和类型级编程等高级内容。每章都标记了一个级别标签,告诉你本章的难易程度,以及它是面向应用程序员还是库设计者。本书以紧凑的形式呈现内容,提供了许多实用的示例代码,还给出了基于作者实际经验的提示、注意和警告。
        本书适合有一定编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。
  • 作者介绍

  • 目录

    第1章  基础A1
      1.1  Scala解释器
      1.2  声明值和变量
      1.3  常用类型
      1.4  算术和运算符重载
      1.5  关于调用方法的更多内容
      1.6  apply方法
      1.7  Scaladoc
      练习
    第2章  控制结构和函数A1
      2.1  条件表达式
      2.2  语句终止
      2.3  块表达式和赋值
      2.4  输入和输出
      2.5  循环
      2.6  关于for循环的更多内容
      2.7  函数
      2.8  默认参数和命名参数L1
      2.9  可变参数L1
      2.10  主函数
      2.11  无参函数
      2.12  惰性求值L1
      2.13  异常
      练习
    第3章  数组操作A1
      3.1  定长数组
      3.2  变长数组:数组缓冲区
      3.3  遍历数组和数组缓冲区
      3.4  转换数组
      3.5  常用算法
      3.6  解读Scaladoc
      3.7  多维数组
      3.8  与Java的互操作
      练习
    第4章  映射、Option和元组A1
      4.1  构造映射
      4.2  访问映射值
      4.3  更新映射值
      4.4  遍历映射
      4.5  链接和排序映射
      4.6  与Java的互操作
      4.7  Option类型
      4.8  元组
      4.9  拉链操作
      练习
    第5章  类A1
      5.1  简单类和无参方法
      5.2  带getter和setter的属性
      5.3  仅带getter的属性
      5.4  私有字段

      5.5  辅助构造函数
      5.6  主构造函数
      5.7  嵌套类L1
      练习
    第6章  对象和枚举A1
      6.1  单例
      6.2  伴生对象
      6.3  扩展类或特质的对象
      6.4  apply方法
      6.5  应用程序对象
      6.6  枚举
      练习
    第7章  包、导入和导出A1
      7.1  包
      7.2  包作用域嵌套
      7.3  链式包子句
      7.4  文件顶部表示法
      7.5  包级函数和变量
      7.6  包可见性
      7.7  导入
      7.8  导入无处不在
      7.9  重命名和隐藏成员
      7.10  隐式导入
      7.11  导出
      练习
    第8章  继承A1
      8.1  继承类
      8.2  重写方法
      8.3  类型检查和强制转换
      8.4  超类的构造
      8.5  匿名子类
      8.6  抽象类
      8.7  抽象字段
      8.8  重写字段
      8.9  开放类和密封类
      8.10  受保护的字段和方法
      8.11  构造顺序
      8.12  Scala继承层级结构
      8.13  对象相等性L1
      8.14  多元相等性L2
      8.15  值类L2
      练习
    第9章  文件和正则表达式A1
      9.1  读取行
      9.2  读取字符
      9.3  读取词法单元和数字
      9.4  从URL和其他源读取
      9.5  写入文件
      9.6  访问目录
      9.7  序列化

      9.8  进程控制A2
      9.9  正则表达式
      9.10  正则表达式组
      练习
    第10章  特质L1
      10.1  为何没有多重继承?
      10.2  作为接口的特质
      10.3  带具体方法的特质
      10.4  富接口的特质
      10.5  具有特质的对象
      10.6  分层特质
      10.7  重写特质中的抽象方法
      10.8  特质中的具体字段
      10.9  特质中的抽象字段
      10.10  特质构造顺序
      10.11  带参数的特质构造函数
      10.12  扩展类的特质
      10.13  底层机制
      10.14  透明特质L2
      10.15  自类型L2
      练习
    第11章  运算符L1
      11.1  标识符
      11.2  中缀运算符
      11.3  一元运算符
      11.4  赋值运算符
      11.5  优先级
      11.6  关联性
      11.7  apply和update方法
      11.8  unapply方法L2
      11.9  unapplySeq方法L2
      11.10  unapply和unapplySeq方法的替代形式L3
      11.11  动态调用L2
      11.12  类型安全的选择和应用L2
      练习
    第12章  高阶函数L1
      12.1  函数作为值
      12.2  匿名函数
      12.3  函数参数
      12.4  参数推断
      12.5  有用的高阶函数
      12.6  闭包
      12.7  与Lambda表达式的互操作性
      12.8  柯里化
      12.9  组合、柯里化和元组化的方法
      12.10  控制抽象
      12.11  非本地返回
      练习
    第13章  容器A2
      13.1  主要的容器特质

      13.2  可变和不可变容器
      13.3  序列
      13.4  列表
      13.5  集合
      13.6  添加或删除元素的运算符
      13.7  常用方法
      13.8  映射函数
      13.9  归约、折叠和扫描A3
      13.10  拉链操作
      13.11  迭代器
      13.12  惰性列表A3
      13.13  与Java容器的互操作性
      练习
    第14章  模式匹配A2
      14.1  更好的switch
      14.2  守卫
      14.3  模式中的变量
      14.4  类型模式
      14.5  Matchable特质
      14.6  匹配数组、列表和元组
      14.7  提取器
      14.8  变量声明中的模式
      14.9  for表达式中的模式
      14.10  样例类
      14.11  匹配嵌套结构
      14.12  密封类
      14.13  参数化枚举
      14.14  偏函数A3
      14.15  case子句中的中缀表示法L2
      练习
    第15章  注解A2
      15.1  什么是注解?
      15.2  注解放置
      15.3  注解参数
      15.4  Java特性的注解
        15.4.1  Bean属性
        15.4.2  序列化
        15.4.3  受检异常
        15.4.4  可变参数
        15.4.5  Java修饰符
      15.5  优化注解
        15.5.1  尾递归
        15.5.2  惰性值
      15.6  错误和警告注解
      15.7  注解声明
      练习
    第16章  FutureA2
      16.1  在Future中运行任务
      16.2  等待结果
      16.3  Try类

      16.4  回调
      16.5  组合Future任务
      16.6  其他Future转换
      16.7  Future对象的方法
      16.8  Promise
      16.9  执行上下文
      练习
    第17章  类型参数L2
      17.1  泛型类
      17.2  泛型函数
      17.3  类型变量的边界
      17.4  上下文边界
      17.5  ClassTag上下文边界
      17.6  多重边界
      17.7  类型约束L3
      17.8  型变
      17.9  协变和逆变位置
      17.10  对象不能是泛型
      17.11  通配符
      17.12  多态函数
      练习
    第18章  高级类型L2
      18.1  联合类型
      18.2  相交类型
      18.3  类型别名
      18.4  结构类型
      18.5  字面量类型
      18.6  单例类型操作符
      18.7  抽象类型
      18.8  依赖类型
      18.9  抽象类型边界
      练习
    第19章  上下文抽象L3
      19.1  上下文参数
      19.2  上下文参数的更多内容
      19.3  声明given实例
      19.4  for和match表达式中的given
      19.5  导入given
      19.6  扩展方法
      19.7  扩展方法的查找位置
      19.8  隐式转换
      19.9  隐式转换规则
      19.10  导入隐式转换
      19.11  上下文函数
      19.12  证据
      19.13  @implicitNotFound注解
      练习
    第20章  类型级编程L3
      20.1  匹配类型
      20.2  异构列表

      20.3  字面量类型算术运算
      20.4  内联代码
      20.5  类型类
      20.6  镜像
      20.7  类型类派生
      20.8  高级类型
      20.9  类型Lambda表达式
      20.10  宏简介
      练习