Swift 3.0 标准库源码阅读笔记——Sequence 和 Collection | luckymore的学习笔记
在日常的编程中,关于集合类型的特性大部分情况下用 Swift 标准库提供的 Set、Dictionary以及 Array 完全足够了, 当然,必要时也可以自己定制自己的集合,这就意味着需要了解与之相关的协议,而理解这些协议也对于我们更好地使用已有的集合类型有莫大帮助。 而集合相关的协议主要是 Sequence 与 Collection。
关于 Swift 的 Sequence 和 Collection 实际上包含了一系列的协议,为了理解其工作原理并且正确使用,需要理清这些协议之间的关系以及各自的用途。
从用途上来说, 一个 Collection 必然是一个 Sequence ,简而言之,Collection 包含了 Sequence 所有的特性,同时又具备更加丰富的功能。
Sequence 的核心是 迭代,它可以生成一个迭代器,完成遍历,即为其核心也是唯一的功能,在遍历的基础上,Swift 为 Sequence 实现了诸多诸如 map、filter 这些大家用的比较多的方法的默认实现。
Collection 相比于 Sequence, 最大的特点在于下标,即不需要遍历也可以取到...阅读全文
关于 Swift 的 Sequence 和 Collection 实际上包含了一系列的协议,为了理解其工作原理并且正确使用,需要理清这些协议之间的关系以及各自的用途。
从用途上来说, 一个 Collection 必然是一个 Sequence ,简而言之,Collection 包含了 Sequence 所有的特性,同时又具备更加丰富的功能。
Sequence 的核心是 迭代,它可以生成一个迭代器,完成遍历,即为其核心也是唯一的功能,在遍历的基础上,Swift 为 Sequence 实现了诸多诸如 map、filter 这些大家用的比较多的方法的默认实现。
Collection 相比于 Sequence, 最大的特点在于下标,即不需要遍历也可以取到...阅读全文