我是 dart 新手,了解有关 dart 的更多信息。
对于下面代码中的十进制运算符,else 被认为是死代码。
// conditional expressions
bool isPublic = true;
var visibility = isPublic ? "public" : "private";
print(visibility);
这也发生在 if 语句中,不知道为什么 dart liner 将 else 语句视为死代码。
当我运行
dart analyze
时,反馈如下。
Analyzing operators.dart... 0.2s
warning • operators.dart:37:42 • Dead code. Try removing the code, or fixing the code before it so that it can be reached. • dead_code
1 issue found.
isPublic
变量是局部作用域的,并被分配了一个常量值 true
,并且 linter 知道您没有在 if 子句之前重新分配它,因此它警告 isPublic
始终为 ```true`` 因此 else条件永远不会被执行。
当您动态分配
isPublic
时,警告就会消失。