跳到主要内容

prefer_void_to_null

稳定
有可用修复

不要使用 Null 类型,除非你确定不想要 void。

详细信息

#

不要 在 void 可以工作的地方使用 Null 类型。

不好的示例

dart
Null f() {}
Future<Null> f() {}
Stream<Null> f() {}
f(Null x) {}

好的示例

dart
void f() {}
Future<void> f() {}
Stream<void> f() {}
f(void x) {}

一些例外情况包括定义特殊函数类型

dart
Null Function(Null, Null);

以及创建安全的空字面量,可以传递给任何类型的 map 或 list 的只读位置

dart
<Null>[];
<int, Null>{};

启用

#

要启用 prefer_void_to_null 规则,请在你的 analysis_options.yaml 文件的 linter > rules 下添加 prefer_void_to_null

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_void_to_null

如果你使用的是 YAML map 语法来配置 linter 规则,请在 linter > rules 下添加 prefer_void_to_null: true

analysis_options.yaml
yaml
linter:
  rules:
    prefer_void_to_null: true