if 表达式
if 表达式是带有返回值的条件控制流表达式。
在 if 表达式中:
- 每个分支必须具有相同类型
- 当条件为真时返回第一个分支的值
- 否则返回第二个分支的值
else
部分可省略。若省略,整个 if 表达式类型将为 Unit
在 else 部分中嵌套 if 表达式时,可简写为 else if
形式
fn fib(x : Int) -> Int {
if x < 2 {
x
} else {
fib(x - 1) + fib(x - 2)
}
}
fn main {
if 5 > 1 {
println("5 is greater than 1")
}
println(fib(5))
println(weekday(3))
}
fn weekday(x : Int) -> String {
if x == 1 {
"Monday"
} else if x == 2 {
"Tuesday"
} else if x == 3 {
"Wednesday"
} else if x == 4 {
"Thursday"
} else if x == 5 {
"Friday"
} else if x == 6 {
"Saturday"
} else if x == 7 {
"Sunday"
} else {
"Invalid day"
}
}