Liệt kê với dữ liệu
Các phần tử enum
cũng có thể có một hoặc nhiều kiểu dữ liệu cho phép chúng hoạt động giống như union từ C.
Khi một mẫu enum
được so khớp bằng cách sử dụng match
, bạn có thể liên kết một tên biến với mỗi giá trị dữ liệu.
Chi tiết bộ nhớ của enum
:
- Một giá trị dữ liệu enum sẽ có kích thước bộ nhớ bằng phần tử lớn nhất của nó. Điều này cho phép tất cả các giá trị tiềm năng nằm trong cùng một không gian bộ nhớ.
- Ngoài các kiểu dữ liệu phần tử (nếu có), mỗi phần tử còn có một giá trị số thể hiện đó là thẻ nào.
Những chi tiết khác:
Enum
của Rust là một thứ còn được gọi là tagged union.
- Khi nói rằng Rust có algebraic types(các kiểu đại số), đó là việc kết hợp các kiểu để tạo ra một kiểu mới.