目录
if表达式
在Scala中if时表达式而并不是语句。
if(logical_exp) valA else valB
这个if的用法实际上和c语言 java语言用法差不多。
当条件不成立且没有else选项是,结果为(),也就是Unit。
for表达式
for comprehension是用于实现循环的一种推导式。
for{
x <- xs
y = x + 1
if(y > 0)
}yield y
当for循环的表达式只有一个时可以用()来表示代码块,当有多个表达式时只能用{}来表示代码块。
“x <- y”表示遍历y,并把遍历到的y元素赋值给x。
“yield”表示导出()到一个新的容器里。
try表达式
Scala中try语义与Java的是一样的。
但是try在scala中不是一个语句而是一个表达式,它会返回一个值、
try{}
catch{}
finally{}
把“dog”装换成Int,显然会抛出异常。用catch去捕捉异常,“_”表示通配符,捕捉到异常返回0。无论有没有发生异常finally代码块总是会执行。
match表达式
形式简单。和Java里的Switch很类似。
exp match{ //主要用在pattern match中
case p1 => val1
case p2 => val2
...
case _ => valn
}
当code值为1时输出“one”,当code值为2时输出“tow”,当code没有找到与之相匹配的就会返回“_”通配符选项的结果