一个Symbol对象表示Dart程序中声明的运算符或者标识符。
你也许永远都不需要使用Symbol,但要按照名称引用标识符的API时,Symbol就非常有用了。
因为代码压缩后会改变标识符的名称,但不会改变标识符的符号。
通过字面量Symbol,也就是标识符前面添加一个#号,来获取标识符的Symbol。
// 字面量
var s1 = #a;
print(s1); //Symbol("a")
// 构造函数
var s2 = Symbol('a');
print(s2); //Symbol("a")
枚举 Enum
适合用在常量定义,类型比较很方便。
1. enum Status { none, running, stopped, paused }
2. Status.values.forEach((it) => print('$it - index: ${it.index}'));
3.
4. Status.none - index: 0
5. Status.running - index: 1
6. Status.stopped - index: 2
7. Status.paused - index: 3