Enumeraciones con Datos
Los elementos de un enum
también pueden tener uno o más tipos de datos que les permitan comportarse como union en C.
Cuando un elemento enum
se empareja con un patrón usando match
, se puede vincular un nombre de variable a cada valor de datos.
Detalles de memoria para enum
:
- Un valor de datos enum tendrá un tamaño de memoria igual a su elemento más grande. Esto permite que todos
los potenciales valores quepan en el mismo espacio de memoria.
- Además de los tipos de datos de los elementos (si los hay), cada elemento tiene también un valor numérico
que representa qué etiqueta es.
Otros detalles:
- El
enum
de Rust también se conoce como unión etiquetada (tagged-union).
- La combinación de tipos para hacer otros nuevos es a lo que nos referimos al decir que Rust tiene tipos algebraicos.