资源:
http://twitter.github.io/scala_school/zh_cn/basics.html
简要总结:
scala的概念:
1.特质(trait),对应java的interface;
2.特质的扩展或者混入"mix in",对应java中interface的实现
scala的语言结构:
1. 变量
var, val(不变量)
2. 结构语句
1. if
if (){}
2. while
while (){}
3. for
for (arg <- args){}
3. 函数
1.其他语言:class int max(int x, int y){ body }
scala: def max(x:Int, y,Int):Int= { body }
2.lambda表达式:
x => x+1
3.参见上述资源1
scala的数据结构:
1. Array
示例:var greetingString = new Array[String](3)
2. List
总结:
1. 单一数据类型,比如:String, Int
2. immutable
3. 对应cons有:: 操作符(两个分号,左操作数) , 对应extend有:::操作符(三个分号,右操作数)
4. 用括号索引而不是方括号,eg: List(0)
4. 常用方法:
1. foreach(传入函数), forall(传入函数)
2. head返回第一个元素,相对应last;
init返回除最后一个元素的list,对应tail;
3. reverse, remove(传入一个函数), count, filter (和remove类似用法),map , isEmpty, length, mkString( FS ) ( FS== Field Seperator)
exists, drop , dropRight
3. Tuple
总结:
1. index从_1开始, 用. 索引 ;
2. 多数据类型
3. immutable
4. set
1.有多个扩展的特质,例如HashSet类中有一个扩展了可变的和另一个扩展不可变的Set特质;
2.+方法对可变的集调用结果为:把元素加入自身;对不可变集调用结果为:创建并返回包含了添加元素的新集
5. map