Enumerations avec des données
Les éléments enum
peuvent également avoir un ou plusieurs type de données
ce qui les rend similaire au type union du language C.
Lorsqu'une énumération est utilisée avec match
, on peut lier un nom de variable à chaque valeur.
Représentation des énumérations en mémoire:
- La place mémoire qu'occupe un élément d'une énumération est égale à la taille de l'élément
de l'énumération qui occupe le plus de place mémoire. Ce qui permet de remplacer un élément
en mémoire par un autre sans avoir à redimensionner l'espace mémoire.
- En plus du type de donnée de l'élément (s'il en a un), chaque élément possède une valeur
numérique permettant d'identifier celui-ci.
Autres détails:
- Les énumérations de Rust sont également appelées unions étiquetés (en anglais tagged-unions).
- La combinaison de types pour en créer un nouveau est ce à quoi quelqu'un fait référence
lorsqu'il dit: Rust possède des types algébriques.