Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to assign raw value to enum in Dart?

In Swift, you can easily assign raw value to enum, eg:

enum Game: Int {
    case lol = 1
    case dnf = 2
    case dota = 3
}

However, you can't assign raw value to enum in Dart:

enum Game {
  lol = 1,
  dnf = 2,
  dota = 3,
}

It's showed error and you can only use the simplest enum:

enum Game {
  lol,
  dnf,
  dota,
}

It's really let me down.

Any way assign raw value to Dart's enum like Swift?

like image 865
无夜之星辰 Avatar asked Jan 22 '26 12:01

无夜之星辰


1 Answers

Dart 2.17 support enhanced enum

enum Game {
  lol(1),
  dnf(2),
  dota(3);
  
  const Game(this.value);
  final int value;
}

Use it like:

void main() {
  const game = Game.lol;
  print(game.value); // 1
}
like image 192
Jitesh Mohite Avatar answered Jan 25 '26 08:01

Jitesh Mohite



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!