缺点 : 1、学习过程较为陡峭,语法还不够好
2、不适合 大型工程化开发(java的优势是工程化)
3、企业级对开发者要求高,后期维护较难
优点: 1、并发,函数式等亮点,满足你对面向对象语言的所有幻想
2、scala 支持java,可以基于java的框架做开发
3、scala + spark 完美结合
一、安装步骤
1、确保已安装java
3、配置环境变量,
新建用户变量
SCALA_HOME E:\local\scala
修改系统变量 Path 在"变量值"一栏的最前面添加如下的路径: %SCALA_HOME%\bin;%SCALA_HOME%\jre\bin;
修改
Classpath
:.;%SCALA_HOME%\bin;%SCALA_HOME%\lib\dt.jar;%SCALA_HOME%\lib\tools.jar.;
二、语法
Scala 有方法与函数
Scala 方法是类的一部分(和java一样),而函数是一个对象可以赋值给一个变量
Scala 中使用
val
语句可以定义函数,
def
语句定义方法。
注意:
函数可作为一个参数传入到方法中,而方法不行。
有两种方法可以将方法转换成函数:(假设m是方法)
1、
val f1
=
m _ 在方法名称m后面紧跟一个空格和下划线
// 闭包
def mulby(factor:Double) = (x:Double) => x * factor
外面套一个方法,传一个值变成了函数闭包
柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术
三、提取器
关键字
case
case 不同于java 的case,scalac 的case 类似用 正则,可以多任何类型进行批评,包括常量,变量,通配符等等;
偏函数: 应用到序列的每一个元素上, 最后返回一个新的序列 - 偏函数做了 filter 和 map 要做的事情。