【问题标题】:What does "< >" mean in Dart?Dart 中的“< >”是什么意思?
【发布时间】:2019-01-29 17:45:10
【问题描述】:

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

例如

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

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

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

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

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

    您也可以将此类类型参数添加到您的自定义类中。
    通常单个大写字母用于类型参数名称,例如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

    【讨论】:

    • 关键字“通用”完全是我错过的!感谢您通过示例及时回答。因为我刚开始学习 Dart,所以我需要更多时间来理解这些参数。无论如何,你的回答已经帮了我很多:-)
    【解决方案2】:

    例如,如果您希望列表只包含字符串,您可以将其声明为List&lt;String&gt;(读作“字符串列表”)

    【讨论】:

      猜你喜欢
      • 2019-02-05
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 2021-03-28
      • 2018-12-17
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多