数据类型
Scala的数据类型与Java的数据类型基本一致,Scala中的数据类型都是以大写开头,在Scala中数据类型都是对象,Scala中没有Java的原生类型
Scala数据类型远比Java复杂,也正是这复杂的类型系统跟适合于函数式编程
上图一些类型介绍
整型
整型常用的是Int,如果要用long类型,在値后面加上l或L
字节型
没什么好说的,就是短的整型
浮点型
如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的。
布尔型
字符型
用单引号定义
字符串
在 Scala 字符串变量使是通过双引号包裹起来的字符序列
多行字符串的表示方法
用三个双引号将字符串包裹起来,原样输出其内容,包括换行符,引号和特殊字符
字符串插值 String Interpolation
从 Scala 2.10.0版本开始,提供了一个新的机制来根据数据生产字符串,通过把变量的引用直接插入到字符串,即字符串插值
一共有三种字符串插值的方式 s,f,raw ,字符串插值是通过在编译时重写代码来实现的
s 字符串插值器
在任何字符串前加上s,就可以直接在字符串中使用变量了,也可以处理任意的表达式对嵌入的表达式进行计算,结果调用toString替换表达式
单变量的表达式可以直接放在$符号后边,否则加上大括号
f插值器
在任何字符串字面前加上 f,就可以生成简单的格式化字符串,功能类似于其他语言的 printf 函数,使用java.util.Formatter类中的格式,百分号开头
变量定义后如果没有%,默认是%s
raw插值器
与 s 插值器在功能上是相同, 使转义字符失效,让它保持原样
Null 值
空值是 scala.Null 类型。
Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。
Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。
转义字符
Scala 转义字符
0 到 255 间的 Unicode 字符可以用一个八进制转义序列来表示,即反斜线‟\‟后跟 最多三个八进制。
在字符或字符串中,反斜线和后面的字符序列不能构成一个合法的转义序列将会导致 编译错误。