不使用局部变量"***"的值。飞镖开关声明



我是新来的Dart,我希望有人能解释这个变量作用域警告。

当我使用以下语句时:

enum fruits {tomatoes, apples, oranges}
void main() {

for (var item in fruits.values) {

var color = 'red';          // Local variable 'color' declared

switch (item){     
case fruits.apples: 
break; 
case fruits.tomatoes:
break;
default:
color = 'orange';        // Local variable 'color' used, analyzer doesn't see
break;}  

print (color);              // Local variable 'color' used, analyzer sees
}
}

代码分析器没有上述问题。但是,如果我注释掉打印语句// print (color);,即使colorswitch语句的默认情况下使用,我也会从分析器获得警告The value of the local variable 'color' isn't used.

为什么分析器看不到在default的情况下的局部变量?

,因为分配变量颜色不考虑使用变量....例如,打印颜色考虑使用变量。当你在小部件或其他任何东西上使用颜色时,lint就会消失。

最新更新