Google的example展示了如何在变量中存储用户界面。
var stars = Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.star, color: Colors.green[500]),
Icon(Icons.star, color: Colors.green[500]),
Icon(Icons.star, color: Colors.green[500]),
Icon(Icons.star, color: Colors.black),
Icon(Icons.star, color: Colors.black),
],
);
final ratings = Container(
padding: EdgeInsets.all(20),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
stars,
Text(
'170 Reviews',
style: TextStyle(
color: Colors.black,
fontWeight: FontWeight.w800,
fontFamily: 'Roboto',
letterSpacing: 0.5,
fontSize: 20,
),
),
],
),
);
请注意,stars
部分用户界面存储在var
变量中,而ratings
部分用户界面存储在final
变量中。
var stars = Row(...); 最终评分=集装箱(...);
我的问题是:
var
变量中以及何时存储在final
变量中?答案 0 :(得分:0)
顾名思义,var
表示其值以后可以更改,而final
则是其值一旦分配就永远不会更改。因此,您几乎可以使用它们中的任何一个,这完全取决于您的需要。
var widget = Container(color: Colors.black);
widget = Container(color: Colors.white); // no problem
final widget2 = Container(color: Colors.black);
widget2 = Container(...)// error you can't assign anything to this widget again