Enumerações com Dados
Os elementos enum
também podem ter um ou mais tipos de dados permitindo que eles se comportem como o union da linguagem C.
Quando um enum
corresponde ao padrão usando match
, você pode vincular um nome de variável para cada valor de dados.
Detalhes de memória do enum
:
- Um valor de dados enum terá um tamanho de memória igual ao seu maior elemento. Isso permite que todos os valores possíveis caibam no mesmo espaço de memória.
- Além dos tipos de dados do elemento (se houver), cada elemento também possui um valor numérico que representa qual etiqueta (tag) ele é.
Outros detalhes:
- O
enum
do Rust também é conhecido como tagged-union
- A combinação de tipos para criar um novo tipo é a o que nos referimos quando dizemos que Rust tem tipos algébricos.