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

prefer_function_declarations_over_variables

関数に名前をバインドするには、変数への代入ではなく関数宣言を使用してください。

説明

#

クロージャがローカル変数に代入され、そのローカル変数がどこにも再代入されない場合、アナライザーはこの診断を生成します。

#

以下のコードは、ローカル変数fがクロージャになるように初期化され、他の値が代入されていないため、この診断を生成します。

dart
void g() {
  var f = (int i) => i * 2;
  f(1);
}

一般的な修正

#

ローカル変数をローカル関数に置き換えてください。

dart
void g() {
  int f(int i) => i * 2;
  f(1);
}