📜  F#如果是其他则为Expression(1)

📅  最后修改于: 2023-12-03 15:30:52.460000             🧑  作者: Mango

F# 如果是其他则为 Expression

F# 语言中的表达式是计算机可以计算的值或结果。 F# 所用的大多数控制结构本身都是表达式,这意味着它们返回值并且可以用于其他表达式中。在F#中,表达式使用 空格 和 分号(;)进行分隔,而不是用逗号或括号。

在 F# 中,我们常常会使用 if/then/else 来测试条件。 if 表达式在其他语言中基本等同于 if/else 语句。如果进行测试的条件为真,则执行 if 代码块。否则,执行 else 代码块。举例来说,以下代码将测试 x 变量的值,如果它大于 10,则输出 "x is greater than 10",否则输出 "x is less than or equal to 10"。

let x = 12
if x > 10 then
    printfn "x is greater than 10"
else
    printfn "x is less than or equal to 10"

输出:

x is greater than 10

除了 if/then/else,我们还可以使用 match/with 表达式。match 生成一个模式匹配,而该模式与给定的值进行匹配,并在匹配到值时执行相关代码。with 关键字后跟要执行的代码块。举例来说,以下代码将测试 x 变量的值,如果它是 1,则输出 "x is 1",如果它是 2,则输出 "x is 2",否则输出 "x doesn't match any pattern"。

let x = 1
match x with
| 1 -> printfn "x is 1"
| 2 -> printfn "x is 2"
| _ -> printfn "x doesn't match any pattern"

输出:

x is 1

另一个常见的控制结构是 while 循环。在 F# 中,while 循环与其他语言中的 while 循环类似,只不过 while 生成一个表达式。当条件为 true 时循环体中的代码块将被执行。以下是一个计算从 1 到 5 的和的示例:

let mutable sum = 0
let mutable i = 1
while i <= 5 do
    sum <- sum + i
    i <- i + 1
printfn "sum is %d" sum

输出:

sum is 15

最后,F# 还提供了 for 循环来遍历集合。 for 循环基本上类似于一个 foreach 循环,允许我们在集合上执行操作。以下是一个将列表中的所有元素加倍的简单示例:

let lst = [1; 2; 3; 4; 5]
for i in lst do
    printfn "%d" (i * 2)

输出:

2
4
6
8
10