Scala学习——简介及数据结构层次

Scala源自Java

Scala构建在JVM之上
Scala与Java兼容、互通

Scala的优势

多范式编程:面向对象编程、函数式编程
表达能力强,代码精简
大数据与Scala
Spark采用Scala语言设计
提供的API更加优雅
基于JVM的语言更融入Hadoop生态圈

Scala概述

面向对象特性

每个值都是对象
对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述
利用特征实现混入式多重继承

函数式编程

每个函数都是一个值
支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配……

Scala是静态类型语言

扩展性:隐式类、字符串插值

Scala变量与常量

变量

赋值后可以改变,生命周期中可以被多次赋值
Scala学习——简介及数据结构层次

常量

赋值后不可变,类似于Java中的final变量
Scala学习——简介及数据结构层次

type关键字

Scala学习——简介及数据结构层次
Scala学习——简介及数据结构层次

Scala数据类型

Scala与Java有着相同的原始数据类型

Scala学习——简介及数据结构层次

Scala数据类型层次结构

Any:所有类型的超类(*类型)
AnyVal:表示值类型的超类
AnyRef:表示引用类型的超类,对应java.lang.Object
Unit:表示无值,类似Java中的void
Nothing:所有类型的子类
Null:表示null或空引用

null是Null类型的唯一实例
Scala学习——简介及数据结构层次