[英]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;
你是说这个列表是由什么组成的。
在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.