跳到主内容

prefer_const_declarations

对初始化为常量值的 'final' 变量使用 'const'。

描述

#

当顶层变量、静态字段或局部变量被标记为 final 并初始化为常量值时,分析器会生成此诊断。

示例

#

以下代码会产生此诊断,因为顶层变量 v 既是 final 又初始化为常量值

dart
final v = const <int>[];

以下代码会产生此诊断,因为静态字段 f 既是 final 又初始化为常量值

dart
class C {
  static final f = const <int>[];
}

以下代码会产生此诊断,因为局部变量 v 既是 final 又初始化为常量值

dart
void f() {
  final v = const <int>[];
  print(v);
}

常见修复方法

#

将关键字 final 替换为 const 并从初始化器中删除 const

dart
class C {
  static const f = <int>[];
}