在做了一些研究之后,我没有找到任何具体的确认,但似乎生成器相关类型的序列协议已被重命名为迭代器。这是正确的吗?
我找不到任何关于协议GeneratorType或相关类型生成器的快速API引用。我只看到人们在博客上写这件事。
所以我的问题是,生成器和迭代器是否引用了同样的概念?
发布于 2017-04-17 23:00:23
生成器和迭代器是否引用Swift中完全相同的概念?
一句话;是的。
正如在进化论中所说的标准库的Swift 3“重命名”:
Type后缀。在一些特殊情况下,这意味着添加一个Protocol后缀,以避免类型名称是主.因此,GeneratorType协议被重命名为IteratorProtocol。
SequenceType协议被重命名为Sequence,从如下所示:
public protocol SequenceType {
associatedtype Generator : GeneratorType
// ...
func generate() -> Generator
// ...
}就像这样:
public protocol Sequence {
associatedtype Iterator : IteratorProtocol
// ...
func makeIterator() -> Iterator
// ...
}https://stackoverflow.com/questions/43460445
复制相似问题