跳到主要内容

use_late_for_private_fields_and_variables

对非空类型的私有成员使用 'late'。

描述

#

当私有字段或变量被标记为可空,但所有引用都假设该变量永不为 null 时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为私有顶级变量 _i 是可空的,但所有引用都假设它不会是 null

dart
void f() {
  _i!.abs();
}

int? _i;

常见修复

#

将变量或字段标记为非空且使用 late,表示它将始终被赋值为一个非空值。

dart
void f() {
  _i.abs();
}

late int _i;