dart recursive_getter 信息警告

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

插入飞镖垫

void main() {
  print(Foo().bar);
}

class Foo {
  bool get bar => bar;
}

你会收到警告

The getter 'bar' recursively returns itself. Try changing the value being returned.
(来自 recursive_getters lint)

我想知道为什么这只是一个 INFO 级别的 linter 警告。有人可以解释一下吗?

dart recursion lint
1个回答
0
投票

我想我自己已经弄清楚了。插入

void main() {
  print(Fu().gazi);
}


class Fu {
  int bla = 1;
  bool get gazi {
    if(bla < 10) {
      bla++;
      return gazi;
    }
    return false;
  }
}

并且您会得到相同的 linter 警告。区别在于:问题中的示例遇到了运行时错误,这里的示例没有 - 它可能不是 getter 的用途(您可以为此使用一个函数),但它可以工作。因此,任何超出信息级别的警告都可能被视为夸大其词。

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