- 范型函数
- 类型参数:可以用来定义函数参数或者作为函数返回值或者在函数体内使用。
- 通用类型


- 扩展通用类型:不需要再写出类型参数,并且可以直接在扩展内使用原类型中定义好的类型参数名。
- 类型约束:限制类型参数必须继承自某个类或者满足某个协议或者协议组合。
- 类型约束实战
- 关联类型:在协议中使用associatedtype定义一个占位符类型名称,具体使用的类型在协议被实现时才确定。
- 扩展现有类型以指定关联类型
- 为关联类型添加约束
- 在关联类型约束中使用协议
- 通用Where子句:对关联类型进行限制,或者要求关联类型需要与类型参数相同。
- 在扩展中使用通用Where子句
- 上下文Where子句
- 关联类型使用通用Where子句
- 通用下标