我知道如何在类中命名变量,但它与函数有什么关系呢?我注意到一些开发人员使用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());
}
3条答案
按热度按时间8dtrkrch1#
根据Dart的官方文档,使用
final
与var
是一个品味问题;重要的是保持一致。根据this answer,大多数编译器会注意到,无论是否将变量设置为final,它都不会被重新赋值。同一个文档链接说,大多数变量不应该显式地赋值数据类型,而应该只赋值关键字final
或var
。我个人不同意这种说法,因为我有过不小心重新键入变量的糟糕经历,但这是官方的建议。如果你把变量设置为final,那么编译器会强制它的状态为只读,linter建议你总是使用
final
来处理那些没有被重新赋值的变量。mbskvtky2#
我应该使用
var
还是键入int
之类的注解?以下是我的方法:
在Dart中,
var
关键字被用来声明一个变量。Dart编译器根据赋值变量自动知道数据的类型,因为Dart是一种推断类型语言。因此,如果你之前 * 知道 * 类型,你可以使用
var
,因为Dart可以自动为你推断类型。例如:但是,如果您以前 * 不知道 * 类型,则可以使用类型注解:
hjzp0vay3#
对于不改变的值,最好使用final。
如果你不确定的话,可以使用棉绒。
dart pub add lints
-官方棉绒dart pub add zekfad_lints
-我喜欢使用的棉绒