繁体   English   中英

Dart 语言问题 - 是什么意思<RandomWords>

[英]Dart Lanuage Question - what is the meaning of <RandomWords>

<RandomWords>是什么意思? Dart 语言的语法是什么?

class RandomWords extends StatefulWidget {
  @override
  State createState() {
  return new RandomWordsState();
 }
}

class RandomWordsState extends State<RandomWords>{
  @override
  Widget build(BuildContext context) {

    return new Scaffold(

    );
 }
}

<RandomWords>是什么意思? Dart 语言的语法是什么?

您正在指定此状态是关于什么状态,就像您说以下内容时一样:

List<String> a;

你是说这个列表是由什么组成的。

换句话说,这意味着State类是一个Generic 类

List类的文档中,您会看到他们实际上将其称为: List<E> class 因此,无论您在 List 中放入什么类型,所有包含E (作为参数或作为返回值)的相关方法都将相应地调整签名,即:

last ↔ E
Returns the last element.

如您所见, last方法返回 List 包含的相同类型,这是预期的。

这个的使用主要是为了类型安全,所以如果你尝试在List< String>插入一个数字,编译器会知道并会检测到错误。

此外,如果您正在开发 Generic 类,这将有助于避免代码重复,因为您不必为世界上每种可能的 List 类型编写实现。

在定义类时,您可以执行以下操作(来自 dart Language Tour 的示例):

abstract class Cache<T> {
  T getByKey(String key);
  void setByKey(String key, T value);
}

而且,用他们的话来说:

在此代码中,T 是替代类型。 它是一个占位符,您可以将其视为开发人员稍后将定义的类型。

此外,作为最后一个提示,我们可以在上面链接的 State 类的文档中看到,泛型类型需要是从 Stateful Widget 继承的东西,因此您不要尝试创建State< Int> ,例如。

State < T extends StatefulWidget > 类

暂无
暂无

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

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