美文网首页
Dart语法之枚举和泛型

Dart语法之枚举和泛型

作者: 学到不懂为止 | 来源:发表于2021-11-23 21:32 被阅读0次

枚举

  • 枚举是一种有穷序列集的数据类型
  • 使用关键字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");
  }
}

相关文章

  • Dart语法之枚举和泛型

    枚举 枚举是一种有穷序列集的数据类型 使用关键字enum定义一个枚举 常用于代替常量,控制语句等 枚举特性inde...

  • Dart语言简介 2019-03-18

    标签(空格分隔): Dart Flutter Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型...

  • Dart系列-枚举、泛型

    周末学习了一下Dart语言,按照慕课网Flutter开发第一步-Dart编程语言入门[https://www.im...

  • Dart语法 -- [07 - 泛型]

    1.1. List和Map的泛型 List使用时的泛型写法: Map使用时的泛型写法: 1.2. 类定义的泛型 如...

  • Dart入门-枚举&泛型

    枚举 枚举是一种有穷序列集的数据类型 使用关键字enum定义一个枚举 常用于代替常量,控制语句等 Dart枚举特性...

  • dart语法速览

    dart语法速览 类与构造 泛型 Factory与私有 生成器 类型别名 异步

  • 每天学一点Swift----泛型(一)

    一.泛型的作用 1.泛型是一种非常灵活的语法,泛型允许程序在函数、枚举、结构体、类中定义类型形参,这种类型形参实际...

  • 03_TypeScript学习(三)

    一. TypeScript枚举类型 二. 枚举类型的值 三. 认识泛型 四. 泛型实现类型参数化 五. 泛型的基本...

  • Dart语言基础(七)之枚举与泛型

    枚举 枚举是一种有穷序列集的数据类型 使用关键字enum定义一个枚举 常用于代替常量,控制语句等 Dart枚举特性...

  • dart语法7-泛型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

网友评论

      本文标题:Dart语法之枚举和泛型

      本文链接:https://www.haomeiwen.com/subject/xjumtrtx.html