Scala if 表達式

2018-09-28 18:16 更新

if 表達式

和其它語言(比如 Java,C#)相比,Scala 只內(nèi)置了為數(shù)不多的幾種程序控制語句: if,while,for ,try match 以及函數(shù)調(diào)用,這是因為從Scala 誕生開始就包含了函數(shù)字面量,Scala 內(nèi)核沒有定義過多的控制結構,而是可以通過額外的庫來擴展程序的控制結構。

Scala的所有控制結構都有返回結果,如果你使用過 Java或C#,就可能了解 Java 提供的三元運算符 ?: ,它的基本功能和 if 一樣,當可以返回結果。Scala 在此基礎上所有控制結構(while,try,if,等)都可以返回結果。這樣做的一個好處是,可以簡化代碼,如果沒有這種特點,程序員常常需要創(chuàng)建一個臨時變量用來保存結果。

總的來說,Scala 提供的基本程序控制結構,“麻雀雖小,五臟俱全”,雖然少,但足夠滿足其他指令式語言(如 Java,C++)所支持的程序控制功能,而且由于這些指令都有返回結果,可以使得代碼更為精簡。

if 表達式

Scala 語言的 if 的基本功能和其它語言沒有什么不同,它根據(jù)條件執(zhí)行兩個不同的分支,比如,使用 Java 風格編寫下面 Scala 的 if 語句的一個例子:

var filename="default.txt"
if(!args.isEmpty)
  filename =args(0)

上面代碼和使用 Java 實現(xiàn)沒有太多區(qū)別,看起來不怎么像 Scala 風格,我們重新改寫一下,利用 if 可以返回結果這個特點。

val filename=
   if(!args.isEmpty)   args(0)
   else "default.txt"

首先這種代碼比前段代碼短,更重要的是這段代碼使用 val 而無需使用 var 類型的變量。使用 val 為函數(shù)式編程風格。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號