类型别名
类型别名(通常称为typedef,因为它使用关键字typedef
声明)是引用类型的简洁方式。以下是如何声明和使用名为IntList
的类型别名的示例。
dart
typedef IntList = List<int>;
IntList il = [1, 2, 3];
类型别名可以具有类型参数。
dart
typedef ListMapper<X> = Map<X, List<X>>;
Map<String, List<String>> m1 = {}; // Verbose.
ListMapper<String> m2 = {}; // Same thing but shorter and clearer.
我们建议在大多数情况下使用内联函数类型而不是类型别名来表示函数。但是,函数类型别名仍然有用。
dart
typedef Compare<T> = int Function(T a, T b);
int sort(int a, int b) => a - b;
void main() {
assert(sort is Compare<int>); // True!
}
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。页面上次更新于 2024-02-07。 查看源代码 或 报告问题。