null_check_on_nullable_type_parameter
不要对可能为空的类型参数使用 null
检查。
此规则从 Dart 2.12 开始可用。
此规则有一个可用的快速修复。
详情
#不要对可能为空的类型参数使用 null
检查。
给定一个具有可空边界(例如,Object?
的默认边界)的泛型类型参数 T
,在使用 T?
类型的变量时,很容易引入错误的 null
检查。具体来说,拥有 T? x;
并想要断言 x
已设置为 T
类型的有效值是很常见的。一个常见的错误是使用 x!
来实现这一点。这几乎总是错误的,因为如果 T
是可空类型,则 x
可以有效地保存 null
作为 T
类型的值。
错误
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result!;
}
正确
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result as T;
}
用法
#要启用 null_check_on_nullable_type_parameter
规则,请在你的 analysis_options.yaml
文件中的 linter > rules 下添加 null_check_on_nullable_type_parameter
analysis_options.yaml
yaml
linter:
rules:
- null_check_on_nullable_type_parameter
除非另有说明,否则本网站上的文档反映了 Dart 3.6.0。页面最后更新于 2024-07-03。 查看源代码 或 报告问题。