条件语句中的 Dart(死代码)

问题描述 投票:0回答:1

我是 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.

dart conditional-statements
1个回答
0
投票

isPublic
变量是局部作用域的,并被分配了一个常量值
true
,并且 linter 知道您没有在 if 子句之前重新分配它,因此它警告
isPublic
始终为 ```true`` 因此 else条件永远不会被执行。

当您动态分配

isPublic
时,警告就会消失。

© www.soinside.com 2019 - 2024. All rights reserved.