Rust · Intermediário · Português · Técnico
guarda de match
Condição if adicionada a um braço do match para refinar o padrão. O braço só é escolhido se o padrão casar e a condição for verdadeira.
Onde usar
Aparece quando o padrão sozinho não basta, como para comparar faixas ou usar outra variável. O compilador ignora a guarda na checagem de exaustividade.
Em código
let n = 7;
match n {
x if x % 2 == 0 => println!("par"),
x if x > 5 => println!("grande"),
_ => println!("outro"),
}Exemplos
Coloque uma guarda de match para tratar só números pares.
Faltou um braço padrão depois das guardas.
Cuidado
Por isso pode ser preciso um braço genérico no final, mesmo que as guardas pareçam cobrir tudo.
Sinônimos
match guard