Enumerazioni con dati
ogni elemento di una enum
può avere uno o più dati associati, che si comportano come le union del C.
Quando facciamo pattern matching tramite match
di una enum
, possiamo associare un nome di variabile ad ogni valore.
Un dettaglio nell'uso di memoria di enum
:
- Ogni valore di un determinato enum occuperà una dimensione di memoria pari a quella dell'elemento più grande. Questo permette a tutti i potenziali valori di essere contenuti nello stesso spazio di memoria.
- Oltre al tipo di dati dell'elemento (se specificato), ogni componente ha anche un codice numerico che rappresenta quale dei possibili valori assume.
Altri dettagli:
enum
di Rust è qualcosa che in altri linguaggi è conosciuto come tagged union.
- La combinazione di tipi per creare un nuovo tipo è una caratteristica per la quale possiamo dire che Rust ha i tipi algebrici, ovvero algebraic types.