微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Dart中的for循环之前初始化迭代器

如何解决在Dart中的for循环之前初始化迭代器

在我的for循环中,我得到一个“避免不必要的语句”,代码可以正常工作,但我认为必须有一种更有效的方式编写以下内容

int i = 0;
for (i; i < (list.length - list.indexOf('.')); i++)
     ^

我在for循环中的第一个i上收到警报。 我知道替代方法是将其替换为var i = 0,但是我已经这样做了,因此我可以使用ith位置来运行此循环之后的下一个循环。

解决方法

您无需在for的第一部分中放置任何内容:

var i = 0;
for (; i < list.length - list.indexOf('.'); i++) ...

i放在技术上是有效的,但由于它无能为力,因此毫无用处(这就是为什么会收到警告的原因)。

您也可以这样做:

var i = 0;
for (var n = list.length - list.indexOf('.'); i < n; i++) ...

,并避免计算循环的每一步的终点。 会更有效率。

您也可以这样做:

var n = list.length - list.indexOf('.');
for (var i = 0; i < n; i++) ...

,然后使用n代替i。对于读者来说,这将使其成为一个更传统的循环。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。