rust 如何在匹配字符串时不对“rest case”做任何事情?

cmssoen2  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(88)

我有一个字符串,我想检查它是否是分号,逗号或冒号。如果它不是任何这些,我不想做任何事情:

match token.as_ref() {
    ";" => semicolons += 1,
    "," => commas += 1,
    ":" => colons += 1,
     _ => println!(""),
}

这是可行的,但是我不想打印一堆空行(因为很多标记不符合这些条件)。
解决这个问题最正确的方法是什么?

hyrbngr7

hyrbngr71#

Rust Programming Language(第2版):

let some_u8_value = 0u8;
match some_u8_value {
    1 => println!("one"),
    3 => println!("three"),
    5 => println!("five"),
    7 => println!("seven"),
    _ => (),
}

**()只是单位值,所以在_的情况下不会发生任何事情。**因此,我们可以说,我们不想对所有没有在_占位符之前列出的可能值执行任何操作。

您也可以use an empty block expression {} .

相关问题