Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Padrões e Matching

Padrões são uma sintaxe especial em Rust para fazer matching contra a estrutura de tipos, tanto complexos quanto simples. Usar padrões em conjunto com expressões match e outras construções oferece mais controle sobre o fluxo de controle do programa. Um padrão consiste em alguma combinação dos seguintes elementos:

  • Literais
  • Arrays, enums, structs ou tuplas com desestruturação
  • Variáveis
  • Curingas
  • Marcadores

Alguns exemplos de padrões incluem x, (a, 3) e Some(Color::Red). Nos contextos em que os padrões são válidos, esses componentes descrevem a forma dos dados. Nosso programa então compara valores com os padrões para determinar se eles têm a forma correta de dados para continuar executando um determinado trecho de código.

Para usar um padrão, nós o comparamos com algum valor. Se o padrão corresponder ao valor, usamos as partes do valor em nosso código. Lembre-se das expressões match do Capítulo 6 que usavam padrões, como o exemplo da máquina de classificação de moedas. Se o valor se ajusta à forma do padrão, podemos usar as partes nomeadas. Se não, o código associado ao padrão não será executado.

Este capítulo é uma referência sobre tudo que se relaciona a padrões. Vamos cobrir os lugares válidos para usar padrões, a diferença entre padrões refutáveis e irrefutáveis e os diferentes tipos de sintaxe de padrão que você pode encontrar. Ao final do capítulo, você saberá como usar padrões para expressar muitos conceitos de uma maneira clara.