Scala 3新特性:新的流程控制格式
Scala 3 新特性之一,是带来了新 的流程控制格式
详细的规则是。
- if表达式的条件可以不加括号,如果后面是then。
- while-loop的条件,如果后面是do,可以不加括号。
- 如果for表达式的枚举符后面跟有yield或do,则可以不加括号或括号来书写。
- for表达式中的do表示for-loop。
- 一个 catch 后面可以在同一行中跟一个case。如果有多个case,这些case必须出现在大括号中(就像Scala 2中一样)或缩进块中。
看代码示例
if x < 0 then
"negative"
else if x == 0 then
"zero"
else
"positive"
if x < 0 then -x else x
while x >= 0 do x = f(x)
for x <- xs if x > 0
yield x * x
for
x <- xs
y <- ys
do
println(x + y)
try body
catch case ex: IOException => handle
总结一下,就是Scala 3中,你能够省略掉很多括号, 能像写Python一样, 就写if then 怎么样怎么样
这样让整个代码更清晰易读
作为对比, 在Scala 2及以前,是这样写的
object Demo {
def main(args: Array[String]) {
var x = 30;
if( x < 20 ){
println("This is if statement");
} else {
println("This is else statement");
}
}
}
以上, scala 3 的语法改进,我觉得是更有效,更Nice的
分类: 编程语言 标签: 发布于: 2020-12-26 19:53:04, 点击数: