跳至主要内容

const_initialized_with_non_constant_value_from_deferred_library

不能使用来自延迟加载库的常量值来初始化 'const' 变量。

描述

#

当使用通过延迟导入的库中的 const 变量来初始化 const 变量时,分析器会生成此诊断。常量在编译时进行评估,而来自延迟加载库的值在编译时不可用。

有关更多信息,请查阅延迟加载库

示例

#

以下代码会生成此诊断,因为变量 pi 是使用来自库 dart:math 的常量 math.pi 进行初始化的,而 dart:math 是作为延迟加载库导入的

dart
import 'dart:math' deferred as math;

const pi = math.pi;

常见修复

#

如果你需要引用来自导入库的常量值,请移除关键字 deferred

dart
import 'dart:math' as math;

const pi = math.pi;

如果你不需要引用导入的常量,请移除该引用

dart
const pi = 3.14;