Enum là gì?
Thuộc phần Logic và luồng điều khiển trong hành trình Dart của Coddy. Bài học 58 trên 65.
Khi viết chương trình, bạn thường cần biểu diễn một tập hợp cố định gồm các giá trị có liên quan. Ví dụ như các ngày trong tuần, những điều kiện thời tiết khác nhau hoặc trạng thái của một tác vụ. Thay vì dùng các chuỗi như "Monday", "Tuesday" hoặc các số nguyên như 1, 2, Dart cung cấp một giải pháp tốt hơn gọi là kiểu liệt kê (enumeration) hoặc enum.
enum là một kiểu dữ liệu đặc biệt, định nghĩa một tập hợp các giá trị hằng số có tên. Bạn có thể hình dung đây là cách tạo kiểu dữ liệu tùy chỉnh với một tập hợp giới hạn các giá trị có thể có và không bao giờ thay đổi.
enum Day {
monday,
tuesday,
wednesday,
thursday,
friday,
saturday,
sunday
}Dùng enum giúp code dễ đọc và an toàn hơn. Thay vì phải nhớ 1 nghĩa là thứ Hai và 2 nghĩa là thứ Ba, bạn có thể dùng Day.monday và Day.tuesday. Cách này giúp tránh lỗi gõ nhầm và làm rõ ý định của bạn với bất kỳ ai đọc code.
Enum đặc biệt hữu ích khi bạn có một biến chỉ có thể chứa một trong số các giá trị được định nghĩa trước, giúp chương trình đáng tin cậy và dễ hiểu hơn.
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng điều khiển
1Thao tác nâng cao với danh sách
Thuộc tính danh sách: đầu và cuốiTrạng thái danh sách: isEmpty và isNotEmpĐảo ngược danh sáchThêm vào danh sách: insertXóa khỏi danh sách: removeWhereTìm trong danh sách: indexOfSắp xếp danh sáchXáo trộn danh sáchÔn tập: trình sắp xếp danh sách4Thao tác nâng cao với Map
Duyệt qua MapKiểm tra khóa và giá trịCác thuộc tính của Map: khóa và giá trịThêm có điều kiện: putIfAbsentXóa mục khỏi MapMap lồng nhauÔn tập: Cập nhật kho hàng2Thao tác hàm trên danh sách
Biến đổi bằng 'map'Lọc bằng 'where'Dùng '.toList()'Kiểm tra điều kiện bằng 'any'Điều kiện với 'every'Tìm phần tử bằng 'firstWhere'Ôn tập: lọc dữ liệu5Dự án: Tính tiền giỏ hàng
Thiết lập dự ánThêm mặt hàng vào giỏ8Dự án: Trình phân tích văn bản đơn giản
Tổng quan và thiết lập dự ánĐếm ký tự3Tập hợp
Tập hợp là gì?Tạo tập hợpThêm và xóa phần tử khỏi tập hợpKiểm tra phần tử trong tập hợpChuyển danh sách thành tập hợpPhép hợp của các tập hợpPhép giao của các tập hợpPhép hiệu của các tập hợpÔn tập: danh sách khách mời không trùng lặp6Xử lý lỗi cơ bản
Ngoại lệ là gì?Khối lệnh 'try-catch'Bắt ngoại lệ bằng 'on'Khối lệnh 'finally'Ném ngoại lệÔn tập: phép chia an toàn9Kiểu liệt kê (enum)
Enum là gì?Định nghĩa enum đơn giảnDùng enum với biếnEnum trong câu lệnh switchÔn tập: Đèn giao thôngTự luyện tập: Trình biên dịch Dart online