一、scala的数据类型

案例
2.1 val 表示常量, 不可修改, 注意和var的区别

2.2.var表示变量, 可以修改
scala> var b = "name"
b: String = name
scala> b="tel"
b: String = tel
scala>
使用编译器自动推断类型
2.3、懒加载变量

三、数据类型

3.2

• 其中所有类型的基类与Any • Any之后分为两个AnyVal与AnyRef – 其中AnyVal是所有值类型的父类型 – AnyRef是所有引用类型的父类型 • 与其他语言稍微有点不同的是,Scala还定义了底类型 – 其中Null类型是所有引用类型的底类型,及所有AnyRef的类型的空值都是Null – 而Nothing是所有类型的底类型,对应Any类型 – Null与Nothing都表示空,这个大家一看就明白了吧。 • 在基础类型中只有String是继承自AnyRef的,与Java、.net一样,Scala中的 String也是内存不可变对象,这就意味着,所有的字符串操作都会产生新的字符串 • 其他的基础类型如Int等都是Scala包装的类型,例如Int类型对应的是Scala.Int只是 Scala包会被每个源文件自动引用,看上去Int类型就像是直接内置在语言中一样
3.3、Null, None, Nil, Nothing的区别

Null ,Nothing

Option 标准类库中的Option类型用样例类来表示拿着可能存在、也可能不存 在的值
