内容

始终_指定_类型

指定类型注释。

此规则从 Dart 2.0 开始可用。

此规则有一个 快速修复 可用。

不兼容规则:avoid_types_on_closure_parametersomit_local_variable_typesomit_obvious_local_variable_types

详情

#

来自 flutter 仓库的样式指南

指定类型注释。

当指定类型未知并省略类型注释时,避免使用 var 和简写。如果明确知道类型未知,请使用 dynamic。如果明确想要一个实现了 ==hashCode 的对象,请使用 Object

错误

dart
var foo = 10;
final bar = Bar();
const quux = 20;

正确

dart
int foo = 10;
final Bar bar = Bar();
String baz = 'hello';
const int quux = 20;

注意:使用 meta 包中的 @optionalTypeArgs 注释,API 作者可以特殊情况处理其类型需要为动态但声明应被视为可选的类型参数。例如,假设您有一个其类型参数您希望将其视为可选的 Key 对象。使用 @optionalTypeArgs 将如下所示

dart
import 'package:meta/meta.dart';

@optionalTypeArgs
class Key<T> {
 ...
}

void main() {
  Key s = Key(); // OK!
}

用法

#

要启用 always_specify_types 规则,请在您的 analysis_options.yaml 文件中将 always_specify_types 添加到linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    - always_specify_types