Flutter ~ 如何优雅地使用新版enum功能

Dart 2.17 新增了一些enum的功能,一起来看看吧!

我也是看大佬 王叔不秃 学到的新姿势, 通过ChatGPT询问,给到的答案也通过switch来写对应方法来转换枚举。🤓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void main() {
final p = PortType.fromString('USB-C');
print(p);
print(p.isUSB);
}

enum PortType {
usbA('USB-A', isUSB: true),
usbC('USB-C', isUSB: true),
lightning('LIGHTNING'),
unknown('UNKNOWN');

final String name;
final bool isUSB;

const PortType(this.name, {this.isUSB = false});

static PortType fromString(String name) {
return values.firstWhere((v) => v.name == name,
orElse: () => PortType.unknown);
}
}

注意事项:

最后一个枚举项后面的 "," 需要改成 ";" 否则无法通过编译。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2012-2022 Soto Pu

请我喝杯咖啡吧~

支付宝
微信