插入飞镖垫
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 警告。有人可以解释一下吗?
我想我自己已经弄清楚了。插入
void main() {
print(Fu().gazi);
}
class Fu {
int bla = 1;
bool get gazi {
if(bla < 10) {
bla++;
return gazi;
}
return false;
}
}
并且您会得到相同的 linter 警告。区别在于:问题中的示例遇到了运行时错误,这里的示例没有 - 它可能不是 getter 的用途(您可以为此使用一个函数),但它可以工作。因此,任何超出信息级别的警告都可能被视为夸大其词。