我知道如何命名类中的变量,但它与函数有什么关系呢?我注意到,一些开发人员对函数中从不更改的变量使用FINAL关键字,但其他开发人员甚至在函数中也使用var.

就代码整洁和速度而言,以下哪个示例是推荐的?

doSomething() {
  final int i = 1;
  print(i.toString());
}

 doSomething() {
  final i = 1;
  print(i.toString());
}

doSomething() {
  int i = 1;
  print(i.toString());
}

doSomething() {
  var i = 1;
  print(i.toString());
}

推荐答案

根据官方的DART documentation,使用finalvar是一个品味问题;重要的是保持一致.根据this answer的说法,大多数编译器会注意到,无论您是否将变量设为FINAL,变量都不会被重新赋值.同一文档链接指出,大多数变量不应显式分配数据类型,而应仅为关键字finalvar赋值.我个人不同意,因为不小心重新输入变量的糟糕经历,但这是官方推荐的.

如果您将变量设为FINAL,则编译器将强制其状态为只读.林特建议,对于没有重新赋值的变量,始终使用final.

Flutter相关问答推荐

如何在flutter中获得类似属性的float(CSS属性)

Flutter -修改子小部件中的AppBar

在Flutter 中压缩图片返回空

如何创建一个按钮来在Ffltter Webview中转到上一页?

Firebase存储不显示在Flutter 中链接的图像

我想在Flutter中画一个箭头,但我似乎无法填满空间

应为标识符,并应为查找)错误

如何翻转这种剪刀设计

Flutter Xcode 15 错误(Xcode):DT_TOOLCHAIN_DIR 无法用于判断 LIBRARY_SEARCH_PATHS

在 Flutter 中使用条件语句设置 ImageProvider Object 类型的背景图像

没有固定宽度的小部件可以约束文本小部件吗?

Flutter - Stripe:类型List 不是类型Map 的子类型? method_channel_stripe.dart 中的错误:263

Flutter 火焰相机抖动已弃用

围绕父组件旋转位置组件

Flutter 应用程序在启动画面冻结(java.lang.RuntimeException:无法启动活动 ComponentInfo)

flutter 在文本字段中更改部分文本选定 colored颜色

Cloud firestore:如何使用 map 对象创建和更新嵌套数组

如何在 flutter 中同时使用 ButtonStyle() 和 ElevatedButton.styleFrom() ?

一个或多个插件需要更高的 Android SDK 版本

这在Flutter 的 pubspec 文件中是什么意思?