首页 > 解决方案 > 匹配结构中 () 和 {} 的区别

问题描述

当我不想在 Rust 匹配结构中做任何事情时,我可以使用以下两种方式之一:

match some_number {
    1 => println!("One"),
    2 => (), // unit value
    _ => {}  // ?
}

有什么区别吗?{}不是单位值,那它有什么作用呢?

标签: rust

解决方案


{}是一个返回单位值的空范围。它们在语义上是相同的,就像这两个函数是相同的:

fn foo() {}

fn bar() {
    ()
}

推荐阅读