为什么在 Dart 中“var”而不是数据类型被认为是更好的实践?

Arv*_*mar 19 dart flutter

我正在学习 Dart,教程中提到,当你初始化变量时,使用关键字“var”而不是“int”这样的数据类型。Dart 会根据初始值自动推断出它是“int”还是“String”。但是如果我们直接告诉 dart 它要指向一个“int”,不是会更快吗?Dart 是强类型的,我们不能像“javascript”那样对整数和字符串使用相同的变量,那么“var”在 dart 上下文中的用途是什么。在我看来,使用数据类型会更快更容易。为什么使用“var”被认为是更好的做法?

小智 7

类型变量dynamic类似于 javascript,它可以在运行时更改类型。例如存储一个整数然后更改为字符串。

var与动态不同。var是初始化变量的一种简单方法,因为您不必显式声明类型。Dart 只是推断类型以使您更容易。如果你int number = 5这样写var number = 5,那么 dart 就会推断出这个变量是一个整数。

教程可能会说这var比惯例更好,int以使代码更具可读性,但我相信它不会对您的代码产生任何影响。您可以使用其中任何一个,并且不会产生任何影响。

  • 此外,使用“var”可以降低删除类型的通用部分的可能性。很多时候,我们在 SO 上看到代码,程序员编写了“List myList = someMethod()”,其中“someMethod”实际上返回“List<String>”。但由于他们已经明确编写了“List”,这将使“myList”变成“List<dynamic>”。如果您只使用“var”或“final”作为类型,您将自动获得“List<String>”。 (15认同)
  • 我明白了,但是 `var number = 5` 的可读性比 `int number = 5` 差。 (2认同)