Dart语言:枚举泛型

Posted 考拉的日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart语言:枚举泛型相关的知识,希望对你有一定的参考价值。

枚举

枚举是一种有穷序列集的数据类型
使用关键字enum定义一个枚举
常用于代替常量,控制语句等
/** * Dart枚举特性 * index从0开始,依次累加 * 不能指定原始值 * 不能添加方法 */void main() { var curretSeason = Season.summer; print(curretSeason.index); // 1 print(Season.spring); // Season.spring  switch (curretSeason) { case Season.spring: print('1-3月'); break; case Season.summer: print('4-6月'); // 4-6月 break; case Season.autumn: print('7-9月'); break; case Season.winter: print('10-12月'); break; }}
enum Season { spring, summer, autumn, winter }


泛型

泛型是程序设计语言 的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器 、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类 是引用类型,是堆对象,主要是引入了类型参数这个概念。
Dart中类型是可选的,可使用泛型限定类型
使用泛型能够有效的减少代码重复
/** * 在类中使用泛型 */void main(){ var utils = new Utils<String>(); // 实例化的时候传入String utils.put('element'); // 这里只能传String
var utils2 = new Utils<int>(); // int utils2.put(1); // 这里只能传入int
}
class Utils<T>{ T element; // String elementStr;
void put(T element){ this.element = element; }
// void putString(String element){ // this.elementStr = element; // }}
/** * 在方法使用的泛型 */void main(){ var utils = new Utils(); utils.put<String>('element'); //这里put方法返回String,参数只能传String}
class Utils{ void put<T>(T element){ print(element); }}



以上是关于Dart语言:枚举泛型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter必备语言Dart教程03 - 类,泛型

深入理解 Dart 中的类型系统和泛型

深入理解 Dart 中的类型系统和泛型

如何使用 Dart 构建枚举? [复制]

Dart语法篇之类型系统与泛型

Flutter调研-demo编写与小结