我应该输入文字吗?

问题描述 投票:1回答:1

创建变量时应该输入类型吗?

仅声明关键字“ var”有什么缺点?

这两者之间有什么区别吗?

var a = 0; int a = 0;

dart
1个回答
4
投票

优点/缺点

ONGOING WORK

最佳做法

建议使用varfinal关键字,而不指定类型批注,并隐式地推断已知局部变量的类型。否则,建议指定类型注释。至于final关键字,当您进行手动类型检查时,应在特定用例中非常谨慎地使用它。例如dynamic

print(myVariable is SomeType) Dart linter规则鼓励省略已知局部变量的类型注释。 omit_local_variable_types鼓励为不属于先前的linter规则的案例指定类型注释。

1。 omit_local_variable_types

1.1 always_specify_types

所有变量和参数都被键入;避免在“动态”或“对象”中 在任何情况下,您都可以弄清楚实际类型。始终专精 通用类型。明确输入所有列表和地图 文字。

这可以达到两个目的:它可以验证 编译器会推断出与您期望的类型匹配,并且使 在类型不明显的情况下(例如 当调用除构造函数以外的任何东西时。

始终避免使用“ var”。如果要明确指出“动态” 类型未知,但更喜欢使用“对象”和强制类型转换,因为使用动态 禁用所有静态检查。

2。 always_specify_types

2.1 Style guide for Flutter repo

CONSIDER省略局部变量的类型注释。

通常,可以轻松推断局部变量的类型,因此 不需要注释它们。

2.2 avoid using var

DO指定类型注释。

在指定类型为未知类型和简写形式时应避免var 忽略类型注释。如果要明确指出,请使用Dart Lint Rules 类型未知。如果要明确表示您希望使用omit_local_variable_types 实现omit_local_variable_typesalways_specify_types的对象。

参考

您可以参考always_specify_typesvar的完整列表和dynamic

注意,Object在flutter社区中使用,并且优先于LinterRules和Effective Dart的样式指南,尤其是在回购贡献中。从我所看到的内容来看,==更像是应该遵循Dart Linter规则的超集样式指南。

© www.soinside.com 2019 - 2024. All rights reserved.