dart Typedefs

目前Typedefs只能赋值函数,未来可能有其他类型

//定义一个别名
typedef Fu = int Function(int a, int b);

class A {
  //生命一个别名类型
  Fu f;
  A(this.f);
}

main(List<String> args) {
  //传一个函数
  A a = A(add);
  int i = a.f(1, 4);
  print(i);
}

//定义一个函数
int add(int a, int b) {
  return a + b;
}

任意类型

//定义一个别名
typedef Fu<T> = T Function(T a, T b);

class A {
  //生命一个别名类型
  Fu f;
  A(this.f);
}

main(List<String> args) {
  //传一个函数
  A a = A(add);
  double i = a.f(1.8, 4);
  print(i);
}

//定义一个函数
double add(dynamic a, dynamic b) {
  return a + b;
}
原文地址:https://www.cnblogs.com/buchizaodian/p/13716557.html