首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iterator协议与生成器与Iterator之争

Iterator协议与生成器与Iterator之争
EN

Stack Overflow用户
提问于 2017-04-17 22:10:11
回答 1查看 852关注 0票数 0

在做了一些研究之后,我没有找到任何具体的确认,但似乎生成器相关类型的序列协议已被重命名为迭代器。这是正确的吗?

我找不到任何关于协议GeneratorType或相关类型生成器的快速API引用。我只看到人们在博客上写这件事。

所以我的问题是,生成器和迭代器是否引用了同样的概念?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-17 23:00:23

生成器和迭代器是否引用Swift中完全相同的概念?

一句话;是的。

正如在进化论中所说的标准库的Swift 3“重命名”:

  • 从协议名中删除Type后缀。在一些特殊情况下,这意味着添加一个Protocol后缀,以避免类型名称是主.
  • 在所有API中,生成器的概念被重命名为迭代器。

因此,GeneratorType协议被重命名为IteratorProtocol

SequenceType协议被重命名为Sequence,从如下所示:

代码语言:javascript
复制
public protocol SequenceType {

  associatedtype Generator : GeneratorType

  // ...
  func generate() -> Generator
  // ...
}

就像这样:

代码语言:javascript
复制
public protocol Sequence {

  associatedtype Iterator : IteratorProtocol

  // ...
  func makeIterator() -> Iterator
  // ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43460445

复制
相关文章

相似问题

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