Hellom's Studio.

Dart 学习之枚举和类型

字数统计: 286阅读时长: 1 min
2019/07/16 Share

枚举

  • 枚举是一种有穷序列集的数据类型

  • 使用关键字 enum 定义一个枚举

  • 常用于代替常量,控制语句等

枚举能组装有固定数量的

以下为春夏秋冬为例的枚举:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
e.g.

void main() {
var currentSeason = Season.winter;

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;
}
}

enum Season { spring, summer, autumn, winter }

枚举特性

  • index0 开始,依次累加

  • 不能指定原始值

  • 不能给原始方法

泛型

  • Dart 中类型是可选的,可使用泛型限定类型

  • 使用泛型能够有效的减少代码重复

泛型的使用

  • 类的泛型

常用 T 来表示传进来的泛型

1
2
3
4
5
6
7
8
9
10
11
12
13
void main() {
var u = new Utils<String>();
u.put(111); // error
u.put('111'); // right
}

class Utils<T> {
T elements;

void put(T elements) {
this.elements = elements;
}
}
  • 方法的泛型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
e.g.

void main() {ss
var u = new Utils();

u.put<String>(111); //error

u.put<int>(111); // right
}


class Utils {
void put<T>(T elements) {
print(elements);
}
}
CATALOG
  1. 1. 枚举
    1. 1.1. 枚举特性
  2. 2. 泛型
    1. 2.1. 泛型的使用