← Kembali ke kursus
Pelajaran kursus · Dart
Pelajaran 25

Enum

Simple enum, enhanced enum (Dart 3), dot shorthand.

Pahami konsepnya

Simple enum: enum Warna { merah, hijau, biru }. Enhanced enum (Dart 3) boleh punya field, constructor, dan method: enum Level with Comparable { bronze(1), silver(2), gold(3); final int nilai; const Level(this.nilai); }. Dot shorthand: .merah menggantikan Warna.merah bila tipe diketahui.

Coba contoh kode

enum Level {
  bronze(1, "Bronze"),
  silver(2, "Silver"),
  gold(3, "Gold");

  final int nilai;
  final String label;
  const Level(this.nilai, this.label);

  @override
  String toString() => label;
}

void main() {
  print(Level.gold);       // Gold
  print(Level.gold.nilai);  // 3
  print(Level.values);
}

Enhanced enum punya constructor const, field, dan toString override. Level.values memberi semua anggota.

Latihan singkat

Uji: Level.values.length — harus `3`.