非常量默认值
可选参数的默认值必须是常量。
描述
#当可选参数(无论是命名参数还是位置参数)的默认值不是编译时常量时,分析器会生成此诊断信息。
示例
#以下代码会生成此诊断信息:
dart
var defaultValue = 3;
void f([int value = defaultValue]) {}
常见修复方法
#如果默认值可以转换为常量,则进行转换。
dart
const defaultValue = 3;
void f([int value = defaultValue]) {}
如果默认值需要随时间变化,则在函数内部应用默认值。
dart
var defaultValue = 3;
void f([int? value]) {
value ??= defaultValue;
}