跳到主要内容

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 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_void_to_null: true

analysis_options.yaml
yaml
linter:
  rules:
    prefer_void_to_null: true