跳至主要内容

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