首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“loop”循环背后的机制是什么?

“loop”循环背后的机制是什么?
EN

Stack Overflow用户
提问于 2022-08-29 10:45:48
回答 1查看 85关注 0票数 1

生锈语言引用似乎用调用IntoIterator::into_iterin关键字后面提供的表达式调用for循环以获得Iterator,然后使用该Iterator检索要循环的元素。

然而,在实践中,for循环在IntoIteratorIterator的表达式中似乎工作得很好。

代码语言:javascript
复制
let v = vec!(1, 2, 3);

// Either of these work:
for i in v { ... }               // v             impl IntoIterator
for i in v.into_iter() { ... }   // v.into_iter() impl Iterator

因此,尖锐的规则似乎是:如果表达式已经是Iterator,则在该表达式上循环,否则,调用表达式上的into_iter以使get Iterator循环。然而,文档并不是这么说的。

那我错过了什么?文件不完整吗?IntoIterator::into_iter电话有什么神奇之处吗?还是Iterator也实现了IntoIterator以使其工作?还是我完全误解了它的工作原理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 12:05:32

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73527633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档