跳到主要内容

literal_only_boolean_expressions

布尔表达式具有常量值。

描述

#

if 或循环语句中的条件值已知始终为 true 或始终为 false 时,分析器会生成此诊断。例外情况是条件为布尔字面量 truewhile 循环。

示例

#

以下代码会生成此诊断,因为条件将始终评估为 true

dart
void f() {
  if (true) {
    print('true');
  }
}

此 lint 会评估由常量组成的表达式子集,因此以下代码也会生成此诊断,因为条件将始终评估为 false

dart
void g(int i) {
  if (1 == 0 || 3 > 4) {
    print('false');
  }
}

常见修复方法

#

如果条件错误,则修正条件,使其值无法在编译时确定

dart
void g(int i) {
  if (i == 0 || i > 4) {
    print('false');
  }
}

如果条件正确,则简化代码,使其不评估该条件

dart
void f() {
  print('true');
}