avoid_field_initializers_in_const_classes
避免在常量类中使用字段初始化器。
详情
#避免在常量类中使用字段初始化器。
不要使用 final x = const expr;
,而应该写成 get x => const expr;
,这样可以避免分配无用的字段。截至 2018 年 4 月,这对于 VM 是成立的,但不适用于将编译为 JS 的代码。
不良示例
dart
class A {
final a = const [];
const A();
}
良好示例
dart
class A {
get a => const [];
const A();
}
启用
#要启用 avoid_field_initializers_in_const_classes
规则,请在你的 analysis_options.yaml
文件中的 linter > rules 下添加 avoid_field_initializers_in_const_classes
analysis_options.yaml
yaml
linter:
rules:
- avoid_field_initializers_in_const_classes
如果你使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_field_initializers_in_const_classes: true
analysis_options.yaml
yaml
linter:
rules:
avoid_field_initializers_in_const_classes: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。