Dart语法之枚举和泛型

2021-11-23  本文已影响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;
  }
}

泛型

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

上一篇下一篇

猜你喜欢

热点阅读