Разница между () и {} в структуре соответствия - PullRequest
0 голосов
/ 16 апреля 2020

Когда я хочу ничего не делать в структуре соответствия Rust, я могу сделать один из двух следующих способов:

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

Есть ли какая-либо разница? {} не является значением единицы, так что он делает?

1 Ответ

8 голосов
/ 16 апреля 2020

{} - это пустая область, которая возвращает значение единицы. Они оба семантически одинаковы, так же как эти две функции идентичны:

fn foo() {}

fn bar() {
    ()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...