rust - Rust match 语句的赋值

标签 rust pattern-matching

Rust 中有没有一种习惯用法,用于根据匹配子句为变量赋值?我知道类似的东西

val b = a match {
     case x if x % 2 == 1 => false
     case _ => true
}

来自 Scala,想知道您是否可以在 Rust 中做同样的事情。有没有办法将匹配子句作为表达式求值并从中返回一些东西,或者它只是 Rust 中的一条语句?

最佳答案

在 Rust 中,几乎每个语句也是一个表达式。

你可以这样做:

fn main() {
    let a = 3;
    let b = match a {
        x if x % 2 == 1 => false,
        _ => true,
    };
}

Playground

关于rust - Rust match 语句的赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42222655/

相关文章:

python - 测试字符串中字符的所有实例是否在 Python 中都是连续的

F#:嵌套的可区分联合和匹配

scala - 从向量到各个变量的多重赋值

rust - Rust 中 Option<...> 类型的全局变量

regex - split_to_table() 按字符数,无定界符

sql - PostgreSQL 中的字符串匹配

rust - 为什么调用者必须使用构造函数而不是直接创建结构?

rust - 无法开始使用 diesel.rs 和 Rust 1.16 nightly

rust - 用静态函数为特征实现特征

generics - 为什么我不能在带有类型参数的特征上添加一揽子暗示?