prefer_final_parameters
如果参数声明在函数体中没有被重新赋值,则建议使用 final。
详情
#应该 尽可能将函数体中未重新赋值的参数声明为 final。
尽可能将参数声明为 final 是一个好习惯,因为它有助于避免意外的重新赋值。
错误示例
dart
void badParameter(String label) { // LINT
print(label);
}
正确示例
dart
void goodParameter(final String label) { // OK
print(label);
}
错误示例
dart
void badExpression(int value) => print(value); // LINT
正确示例
dart
void goodExpression(final int value) => print(value); // OK
错误示例
dart
[1, 4, 6, 8].forEach((value) => print(value + 2)); // LINT
正确示例
dart
[1, 4, 6, 8].forEach((final value) => print(value + 2)); // OK
正确示例
dart
void mutableParameter(String label) { // OK
print(label);
label = 'Hello Linter!';
print(label);
}
不兼容的规则
#prefer_final_parameters
规则与以下规则不兼容
启用
#要启用 prefer_final_parameters
规则,请在你的 analysis_options.yaml
文件中的 linter > rules 下添加 prefer_final_parameters
analysis_options.yaml
yaml
linter:
rules:
- prefer_final_parameters
如果你使用 YAML map 语法来配置 linter 规则,请在 linter > rules 下添加 prefer_final_parameters: true
analysis_options.yaml
yaml
linter:
rules:
prefer_final_parameters: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。