目录

avoid_init_to_null

不要显式将变量初始化为 null

此规则从 Dart 2.0 开始可用。

规则集:recommended, flutter

此规则具有可用的快速修复

详情

#

来自有效的 Dart

不要显式将变量初始化为 null

如果一个变量具有非可空类型或为 final,则如果您尝试在它被明确初始化之前使用它,Dart 将报告编译错误。如果变量可空且不是 constfinal,则它将为您隐式初始化为 null。Dart 中没有“未初始化的内存”的概念,也不需要显式将变量初始化为 null 以“安全”。添加 = null 是多余且不必要的。

错误

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem = null;

  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }

  return bestItem;
}

正确

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem;

  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }

  return bestItem;
}

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_init_to_null