Scala简介
官方教程: Twitter: https://twitter.github.io/scala_school/zh_cn/
本地环境配置
安装JDK8,或者OpenJDK
安装 Scala
安装 SBT
sbt数据源问题
- 将sbt-launch.jar中sbt.boot.properties文件下的在
[repositories]里面的local下面添加以下数据源
1
2
3alirepo1:https://maven.aliyun.com/repository/central
alirepo2:https://maven.aliyun.com/repository/jcenter
alirepo3:https://maven.aliyun.com/repository/public- 或者
\sbt\conf目录下,新建文件repository.properties添加
1
2
3
4
5[repositories]
local
alirepo1:https://maven.aliyun.com/repository/central
alirepo2:https://maven.aliyun.com/repository/jcenter
alirepo3:https://maven.aliyun.com/repository/public1
2在conf/sbtconfig.txt中添加repository.properties文件路径
-Dsbt.repository.config=D:/ProgramFile/sbt/conf/repository.properties- 将sbt-launch.jar中sbt.boot.properties文件下的在
IDEA配置
下载地址:https://www.jetbrains.com/idea/download/#section=windows 注册码
配置
Configure -> Project default -> Project setting -> GlobalLibraries -> add -> Brower Scala Sdk path
创建Maven项目
Maven项目搜索: https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.12/2.4.0
在pom.xml中添加, 然后等待下载完成.顺便将SQL,Streaming,ML依赖进去..
1 | <dependencies> |
在下载库里面看到spark2.4.0依赖了hadoop2.6.5, 至此Maven项目配置完成.
开始设置scala framework
选择Add Framework Support
选择之前配置的scala sdk,并选择完成.
然后删除main下的所有文件夹,并新建一个scala文件夹, 右键scala文件夹.选择sources Root
创建包名和Main.scala,运行main函数
基础
语法, 变量var, 常量val
1 | sbt console |
函数, 匿名函数
1 | scala> def addOne(m: Int): Int = m + 1 |
Basic
1 | class Basic { |
特质: 是一些字段和行为的集合,可以扩展或混入(mixin)你的类中。特质VS抽象:
- 优先使用特质。一个类扩展多个特质是很方便的,但却只能扩展一个抽象类。
- 如果你需要构造函数参数,使用抽象类。因为抽象类可以定义带参数的构造函数,而特质不行。例如,你不能说
trait t(i: Int) {},参数i是非法的。
函数与类型
1 | // apply 方法 语法糖 |
包
1 | package com.xyxj.example |
匹配 match
- 匹配值
1 | val times = 1 |
- 匹配类型
- 匹配成员
样本类
1 | case class Calculator(brand: String, model: String) |
异常
1 | val result = try { |
try … catch 也是面向对象的。
集合
基本数据结构
1 | // 数组 |
注意: 创建元组 -> , eg: 1->2 创建一个(1,2)的元组
映射Map
1 | val map = Map(1 -> 2, 2 -> 2) |
函数组合 compose
1 | def main(args: Array[String]): Unit = { |
调用顺序 andThen 同上
类型和多态
略