gpt4 book ai didi

flutter - var 和 final 变量中的 UI 实现部分之间的区别

转载 作者:IT王子 更新时间:2023-10-29 07:19:21 25 4
gpt4 key购买 nike

example来自 Google 展示了如何将 UI 片段存储在变量中。

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,
),
),
],
),
);

请注意,UI 的 stars 部分存储在 var 变量中,而 UI 的 ratings 部分存储在 中最终变量。

var stars = Row(...); final ratings = Container(...);

我的问题是:

  • 这种差异背后的动机是什么?
  • 何时将一段 UI 存储在 var 变量中以及何时存储在 final 变量中?

最佳答案

顾名思义,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

关于flutter - var 和 final 变量中的 UI 实现部分之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com