match
A Rust fornece correspondência de padrão através da palavra-chave match
, que pode ser usada como uma switch
de C. O primeiro braço de correspondência é avaliado e todos os valores possíveis devem ser cobertos.
fn main() { let number = 13; // TODO ^ Tente valores diferentes para `number` println!("Tell me about {}", number); match number { // Corresponder um único valor 1 => println!("One!"), // Corresponder vários valores 2 | 3 | 5 | 7 | 11 => println!("This is a prime"), // TODO ^ Tente adicionar 13 à lista de valores primos // Corresponder um limite inclusivo 13..=19 => println!("A teen"), // Lidar com o resto dos casos _ => println!("Ain't special"), // TODO ^ Tente comentar este braço de captura total } let boolean = true; // `match` também é uma expressão let binary = match boolean { // Os braços duma correspondência deve cobrir todos os valores possíveis false => 0, true => 1, // TODO ^ Tente comentar um destes braços }; println!("{} -> {}", boolean, binary); }