<Widget>在Flutter代码中是什么意思?

What does <Widget> means in Flutter code?

刚接触Flutter,正在看书学习。我书中的代码是这样说的:

Column(
  children: <Widget>[
  // Other codes
  ]
)

但是当我删除 <Widget> 部分时,它也能正常工作。这个 <Widget> 是做什么的,当我删除那部分时没问题?

该列包含 <Widget> 类型的元素,它类似于编程语言中的类型。

这意味着您将在该列中显示小部件集。 Widget 是 Fl​​utter 应用程序的底层构建块。

您可以从该列中删除任何小部件,因为它只会呈现 UI 元素。

语法指定 [] 包含 Widget.

类型的对象

您可以使用类似语法定义任何类型的任何列表。

例如:

List<int> i = <int>[1,2,3];

或:

List<MyClass> myClasses = <MyClass>[];

只要您只在数组中包含 Widgets,就可以在没有 <Widget> 语法的情况下使用。如果您尝试包含任何不是 Widget.

的内容,您将收到错误消息

所以这会出错:

return Column(children: [Text("Hello World!"), 24, "Broken Code")]);

因为 intString 的类型是不允许的。

这会起作用:

return Column(children: [Text("Hello, World!")]);

之所以有效,是因为列表中唯一的项目是类型 Widget