Chapter 02.03 《First Steps in Sc
2018-06-12 本文已影响0人
liqing151
Scala
基础知识
- 在非常明显的类型推断的情况下,可以将类型标注省去。
- 函数定义中的每个参数类型必须要有明显的类型标注,
Scala
编译器并不能推断出来参数的类型。如果函数是递归的,则必须要明确的给出函数的返回类型,否则可以使用类型推断。如果函数字面量只是一个接受单个参数的语句,那么可以不必给出参数名和参数本身。
- 函数定义中的每个参数类型必须要有明显的类型标注,
- 3.
if
中的判断条件必须写在括号中。 - 使用
new
创建对象的时候,可以同时使用类型和值对实例进行参数化,也就是对实例进行参数配置,类型参数一般使用语法[type]
,值参数一般使用语法(value)
。
- 使用
- 如果一个方法只接收一个参数,可以简写成为
obj func para
,必须要显示的给出调用者,例如println 10
这样是不可以的。
- 如果一个方法只接收一个参数,可以简写成为
- 不可变的数据结构中如果某个方法看起来是修改这个对象的时候,其实是创建了一个新的对象并进行了值返回。
- 以:结尾的是右操作符,会发生在右操作员的方法调用上。在
List
中并没有append
的方法,往列表的末尾添加元素所需要的时间和列表的长度是成正比的。可以在头部添加之后完成翻转,或者使用ListBuffer
,支持追加操作,完成后调用toList
即可。
- 以:结尾的是右操作符,会发生在右操作员的方法调用上。在
- 一个元组可以包含多个类型不同的值。
- 集合类库特意提供了可变和不可变的版本用以支持指令式编程和函数式编程。例如
Set
集合
- 集合类库特意提供了可变和不可变的版本用以支持指令式编程和函数式编程。例如
|-- collection.Set |-- collection.immutable.Set |-- collection.immutable.HashSet |-- collection.mutable.Set |-- collection.immutable.HashSet
对于集合都提供了+
用以添加新的元素,常用的是+=
。在可变集合上直接提供了+=
方法,在不可变集合上是新建了一个集合,并将这个集合赋值给老的集合。
- 带有副作用的函数的典型就是返回类型是
Unit
。
- 带有副作用的函数的典型就是返回类型是