共用方式為


條件運算式:if... then...else (F#)

if...then...else 運算式會根據指定的布林運算式,執行不同的程式碼分支以及評估為不同的值。

if Boolean-expression then expression1 [ else expression2 ]

備註

在上述語法中,如果布林運算式評估為 true,則會執行 expression1,否則會執行 expression2。

不同於其他語言,if...then...else 建構是運算式,而不是陳述式。 這表示它會產生值,也就是分支中最後一個執行之運算式的值。 每個分支中所產生之值的型別必須相符。 如果沒有明確 else 分支,則其型別為 unit。 因此,如果 then 分支的型別不是 unit,則必須有相同傳回型別的 else 分支。 當 if...then...else 運算式鏈結在一起時,您可以使用關鍵字 elif 代替 else if,這兩者是相同的。

範例

下列範例示範如何使用 if...then...else 運算式。

let test x y =
  if x = y then "equals"
  elif x < y then "is less than"
  else "is greater than"

printfn "%d %s %d." 10 (test 10 20) 20

printfn "What is your name? "
let nameString = System.Console.ReadLine()

printfn "What is your age? "
let ageString = System.Console.ReadLine()
let age = System.Int32.Parse(ageString)

if age < 10
then printfn "You are only %d years old and already learning F#? Wow!" age
      

請參閱

其他資源

F# 語言參考