Dart泛型

1.方法的泛型

// 泛型不局限于某种类型,还能进行类型的验证
T getData(T value){
  return value;
}

void setData(T value, String name){
  print("${value} ${name}");
}

main(List args) {

  print(getData("name"));  // string类型
  print(getData(123));  // int 类型

  setData("name", "xxx"); // string类型
  setData(123, "xxx"); // int 类型
}

2.类,接口的泛型

// 类的泛型

class Animal{
  T name;
  T printInfo(T val){
    return val;
  }
}

//抽象类的泛型

abstract class AnimalAnother{
  T name;
  void printMsg(T value){
    print(value);
  }
}


//接口的泛型

class C implements AnimalAnother{
  @override
  T name;

  @override
  void printMsg(T value) {
    // TODO: implement printMsg
  }
  
}

 

你可能感兴趣的:(dart)