Dart语法之枚举和泛型
2021-11-23 本文已影响0人
学到不懂为止
枚举
- 枚举是一种有穷序列集的数据类型
- 使用关键字
enum
定义一个枚举 - 常用于代替常量,控制语句等
- 枚举特性
-
index
从0
开始,依次累加 - 不能指定原始值
- 不能添加方法
-
// 例子
// 四季季节枚举
enum Season {
spring,
summer,
autumn,
winter
}
void main() {
var currentSeason = Season.winter;
// 当前位置 ``index`` 值
print(currentSeason.index);
switch (currentSeason) {
case Season.spring:
print("1-3月");
break;
case Season.summer:
print("4-6月");
break;
case Season.autumn:
print("7-9月");
break;
case Season.winter:
print("10-12月");
break;
}
}
泛型
-
Dart
中类型是可选的,可使用泛型限定类型 - 使用泛型能够有效的减少代码重复
- 泛型的使用
- 类的泛型
- 方法的泛型
void main() {
var list = new List<int>();
list.add(1);
// 类的泛型
var utils = new Utils<String>();
utils.put("element");
// 方法的泛型
var person = new Person();
person.put<String>("element");
}
// 类的泛型
class Utils<T> {
T element;
void put(T element) {
this.element = element;
}
}
class Person {
// 方法的泛型
void put<T>(T element) {
print("element = $element");
}
}