首頁>技術>

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 xwhile x >= 0 do x = f(x)for x <- xs if x > 0yield x * xfor   x <- xs   y <- ysdo   println(x + y)try bodycatch 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的

23
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 面試官:小夥子我們先來嘮嘮併發程式設計的幾大核心知識點