Kiểu enum trong Dart là gì?
Kiểu enum trong Dart còn gọi là kiểu liệt kê (kiểu liệt kê thứ tự enumerated) được sử dụng để liệt kê các giá trị hằng số. Kiểu liệt kê được khai báo bằng cách sử dụng từ khóa enum
. Kiểu liệt kê enum
cũng là một kiểu iterable
, tức là cũng có thể duyệt tuần tự qua từng phần tử của nó.
enum HoaQua { Apple, Pear, Grapes, Banana, Orange } void main() { HoaQua liked = HoaQua.Apple; var disliked = HoaQua.Banana; print(liked.toString()); // kết quả 'HoaQua.Apple' print(disliked.toString()); // kết quả 'HoaQua.Banana' }
Mỗi phần tử của một enum
được gán với một con số, gọi là index
, tương ứng với vị trí của phần tử đó trong enum
bắt đầu từ số 0
.
enum HoaQua { Apple, Pear, Grapes, Banana, Orange } void main() { print(HoaQua.Apple.index); //kết quả 0 print(HoaQua.Banana.index); //kết quả 3 }
Duyệt qua các giá trị của enum trong Dart
Để duyệt qua các giá trị của enum
, chúng ta sử dụng phương thức values
thì sẽ trả về một List
các phần tử của enum
. Khi đó, kết hợp với phương thức forEach
của Kiểu danh sách List trong Dart để duyệt qua các giá trị này.
enum HoaQua { Apple, Pear, Grapes, Banana, Orange } void main() { print(HoaQua.values); HoaQua.values.forEach((v) => print('value: $v, index: ${v.index}')); }
Chạy chương trình trên, được kết quả như hình sau: