跳到主要內容

常量預設

可選引數的預設值必須是常量。

描述

#

當可選引數(無論是命名引數還是位置引數)的預設值不是編譯時常量時,分析器會生成此診斷資訊。

示例

#

以下程式碼會生成此診斷資訊:

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;
}