non_constant_default_value_from_deferred_library
來自延遲載入庫的常量值不能用作預設引數值。
描述
#當可選引數的預設值使用從延遲匯入的庫中匯入的常量時,分析器會產生此診斷資訊。預設值需要在編譯時可用,而來自延遲載入庫的常量在編譯時不可用。
欲瞭解更多資訊,請檢視延遲載入庫。
示例
#給定一個定義常量 zero 的檔案 a.dart
dart
const zero = 0;以下程式碼會產生此診斷資訊,因為 zero 是在透過延遲匯入方式匯入的庫中宣告的
dart
import 'a.dart' deferred as a;
void f({int x = a.zero}) {}常見修復
#如果你需要引用匯入庫中的常量,請刪除 deferred 關鍵字
dart
import 'a.dart' as a;
void f({int x = a.zero}) {}如果你不需要引用該常量,請替換預設值
dart
void f({int x = 0}) {}