メインコンテンツにスキップ

遅延ロードライブラリから定数で初期化された定数

遅延ロードライブラリからの定数値は、'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;