繁体   English   中英

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

[英]What does "< >" mean in Dart?

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

例如

List<int> fixedLengthList = new List(5);

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

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

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

您也可以将此类 Type 参数添加到您的自定义类中。
通常单个大写字母用于类型参数名称,如TUK但它们可以是其他名称,如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`
}

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

例如,如果你打算让一个列表只包含字符串,你可以将它声明为List<String> (读作“字符串列表”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM