- 一切值都是对象,scala是面向对象的语言
-
变量和基本数据类型
var才能用占位符_初始化,val不能用占位符初始化,不然会报错
- val才能用lazy修饰,var不行
"""some string"""
通过三个双引号把字符串包裹起来,可以原样输出字符串内容- scala的对象比较 == 等同于equals,基于内容比较,与java不同(基于内存地址比较)
- Scala中和String和Java中的String是等价的,但是Scala中的String有更多便捷方法,因为scala会把String转换成StringOps类型对象
::
List构造:::
List拼接- 以上两个都是右操作
集合
- Any,Class Any is the root of the Scala class hierarchy.
- AnyVal 是所有值类型(9种基本数据类型)的父类型
- [[scala.Double]], [[scala.Float]], [[scala.Long]], [[scala.Int]], [[scala.Char]], [[scala.Short]], and [[scala.Byte]] are the ‘’numeric value types’’.
- [[scala.Unit]] and [[scala.Boolean]] are the ‘’non-numeric value types’’.
- [Seq,Set,Map] -> Iterable —> Traversable —> TraversableOnce scala集合框架的大致继承路线
- 数组
- Array
- 可以直接使用Array(“a”,”b”)进行new操作的数据定义,本质上是调用了Array伴生对象 的apply方法
- ArrayBuffer
- Array
- List
::
头尾相接的非空列表Nil
空列表,都是List的子类