if-let 表达式
if-let
表达式首先对条件中 <-
右侧的表达式进行求值,如果此值能匹配 <-
左侧的模式,则执行 if
分支,否则执行 else
分支(可省略)。例如:
main() {
let result = Option<Int64>.Some(2023)
if (let Some(value) <- result) {
println("操作成功,返回值为:${value}")
} else {
println("操作失败")
}
}
运行以上程序,将输出:
操作成功,返回值为:2023
对于以上程序,如果将 result
的初始值修改为 Option<Int64>.None
,则 if-let
的模式匹配会失败,将执行 else
分支:
main() {
let result = Option<Int64>.None
if (let Some(value) <- result) {
println("操作成功,返回值为:${value}")
} else {
println("操作失败")
}
}
运行以上程序,将输出:
操作失败