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 valor1 => println!("One!"),// Corresponder vários valores2 | 3 | 5 | 7 | 11 => println!("This is a prime"),// TODO ^ Tente adicionar 13 à lista de valores primos// Corresponder um limite inclusivo13..=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ãolet binary = match boolean {// Os braços duma correspondência deve cobrir todos os valores possíveisfalse => 0,true => 1,// TODO ^ Tente comentar um destes braços};println!("{} -> {}", boolean, binary);}