Dart语法之枚举和泛型

枚举

  • 枚举是一种有穷序列集的数据类型
  • 使用关键字enum定义一个枚举
  • 常用于代替常量,控制语句等
  • 枚举特性
    • index0开始,依次累加
    • 不能指定原始值
    • 不能添加方法
// 例子
// 四季季节枚举
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");
  }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容