跳到主要内容

avoid_double_and_int_checks

稳定

避免 doubleint 检查。

详情

#

避免 检查类型是否为 doubleint

当编译为 JS 时,整数值表示为浮点数。当使用 isis! 且类型为 intdouble 时,这可能会导致一些意外行为。

错误示例

dart
f(num x) {
  if (x is double) {
    ...
  } else if (x is int) {
    ...
  }
}

正确示例

dart
f(dynamic x) {
  if (x is num) {
    ...
  } else {
    ...
  }
}

启用

#

要启用 avoid_double_and_int_checks 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 avoid_double_and_int_checks

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_double_and_int_checks

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_double_and_int_checks: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_double_and_int_checks: true