Dart 中的“< >”是什么意思?

Bak*_*aka 4 dart flutter

通过在线 Dart 课程,我发现了一些用“小于”和“大于”标记括起来的值,例如"List< E >"

例如

List<int> fixedLengthList = new List(5);
Run Code Online (Sandbox Code Playgroud)

我在网上找不到直接答案,可能是因为这个问题太基础了。有人能解释一下这些标记究竟表示什么吗?或者任何链接(如果可能)。

Gün*_*uer 9

这是泛型类型参数。它允许类的专业化。

List是一个可以包含任何值的列表(如果没有传递类型参数,则dynamic默认使用)。 List<int> is a list that only allows integer values and空`。

您也可以将此类 Type 参数添加到您的自定义类中。
通常单个大写字母用于类型参数名称,例如T, UK但它们也可以是其他名称,例如TKey...

class MyClass<T> {
  T value;
  MyClass(this.value);
}

main() {
  var mcInt = MyClass<int>(5);
  var mcString = MyClass<String>('foo');
  var mcStringError = MyClass<String>(5); // causes error because `5` is an invalid value when `T` is `String`
}
Run Code Online (Sandbox Code Playgroud)

另见https://www.dartlang.org/guides/language/language-tour#generics

  • 我完全错过了关键字“通用”!感谢您的及时回答并举例说明。由于我刚刚开始学习 Dart,因此我需要更多时间来理解这些参数。不管怎样,你的回答已经帮了我很多了:-) (2认同)