Scala编程语言
Dave Dai 查看讲师
百林哲咨询(北京)有限公司专家团队成员
中科大工学硕士,目前任某大数据技术公司基础平台部研发经理,负责建设和优化公司的大数据平台,为工程师和数据科学家提供稳定的基础服务。
浏览:4959次
详情 DETAILS

简介

本课程介绍Scala编程语言,它是一门结合了函数式编程和面向对象编程特性的语言。

近年来,函数式编程越来越受欢迎,因为它提高了代码的安全性,使其更简洁和优雅。在多核时代,函数式编程也使得编写并行代码越来越简单。

Scala也是运行于 JVM 之上,这使得它能够和 Java 无缝的互相调用,很多采用 Java 开发的开源系统也能在 Scala 中直接使用。由于 Scala 语言这些独特的优势,目前越来越多的开源系统也采用 Scala 开发,如 Spark,Kafka等开源项目。

通过本课程读者将会学到Scala语言的特性,以及如何在实际项目中使用Scala进行编程。本课程会有大量动手实践,以期让读者能够快速掌握Scala。

目标

了解面向对象编程和函数式编程的概念;

掌握 Scala 编程语言;

掌握 Scala 和 Java 的交互;

掌握如何使用 Scala 开发实际项目。

课程时长

2天(12H)

受众人群

函数式编程爱好者,大数据开发人员,系统架构师。

课程特点/亮点

系统化介绍+实际操作演练+对重难点进行深入浅出分析。

分享提纲

1.简介

1.1 编程语言 Overview

1.2 Scala 的发展历程

1.3 Scala 语言的特性

1.4 Scala 初体验

1.5 社区和相关书籍推荐

2.安装配置和基本操作

2.1下载 Scala 编译器

2.2环境变量配置

2.3使用 Scala 的交互式 shell

2.4使用 IDE

3.REPL使用方式

3.1启动,使用

3.2 REPL 的命令行选项

3.3粘贴代码块

3.4:load 命令

3.5增加 JAR 文件和 Class 到 REPL 的 classpath

3.6 REPL 中运行 Shell 命令

4.基本类型和操作

4.1整数表示

4.2 String 表示

4.3 Boolean 表示

4.4操作符

4.5对象的相等性
4.6操作符优先级和结合性

5.控制结构

5.1 If 表达式

5.2 While 表达式

5.3 For 表达式

5.4异常处理

5.5关于break和continue

6.函数式编程

6.1基本概念

6.2可变长参数、命名参数、带默认值的函数

6.3部分应用函数

6.4闭包

6.5传名和传值

6.6递归和尾递归

6.7高阶函数

6.8柯里化

7.类和对象

7.1 class 定义

7.2定义操作符

7.3隐式转换

7.4 Scala 的类库层级结构

7.5 Scala 的 package

7.6类,成员,方法的访问权限

8.类的继承

8.1抽象类

8.2扩展类

8.3重载 methods 和 fields

8.4调用超类的构造器

8.5构造顺序

8.6多态和动态绑定

8.7定义final 成员

9.特质

9.1什么是“特质”,”特质”如何工作?

9.2 Ordered 特质介绍

9.3以栈的形式扩展多个特质

9.4用特质还是抽象类

10.Generic 和 Subtyping 及 Variance

10.1 LSP介绍

10.2类型参数

10.3类型边界

10.4 Variance

11.模式匹配

11.1 Case classes

11.2模式匹配

11.3模式的种类

11.4模式匹配的顺序

11.5 Sealed classes

11.6 Option 类型

12.抽取器

12.1 什么是抽取器

12.2 0 个 1 个变量的模式

12.3 可变长度的抽取器

12.4 抽取器和序列模式

12.5 正则表达式

13.隐式转换和参数

13.1什么是隐式转换

13.2隐式转换规则

13.3使用隐式转换的情况

13.4隐式转换优先级

13.5上下文定界和视图定界

13.6隐式转换和类型

14.List 介绍

14.1 List的构造

14.2 List的基本操作

14.3 List模式匹配

14.4 ListBuffer介绍

15.For 表达式深入     探讨

15.1 For 表达式介绍

15.2模式匹配

15.3 For表达式的转换过程

16.Annotations

16.1什么是注解

16.2 Scala 注解 VS Java 注解

16.3什么可以被注解

16.4注解参数

16.5自定义注解实现

16.6针对Java特性的注解

16.7用于优化的注解

16.8用于错误和警告的注解

17.对象相等性

17.1 Scala 中对象相等性的基本概念

17.2如何编写相等性的方法

18.与 Java 交互

18.1 Scala 中如何使用 Java 类

18.2 Java 中如何使用 Scala 类

 


 


预约内训 APPLY
前往提交您的需求,我们会及时与您联系
课程推荐 COURSE

企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1