在尖括号中写一个名称,来创建一个泛型方法或是类型。例:
你可以以泛型形式创建函数和方法,也可以创建类,枚举,结构体。例:
可以使用 "where" 关键字指明一系列的满足条件 —— 例如,需要一个类型实现一个协议,需要两个类型是相通的,或者需要一个类继承于特定的一个基类。例:
示例代码中的条件意为 T 序列中的元素满足Equatable 协议,同时T,U 两个序列中的元素的类型是一致的(swift 中使用 "===" 来表示类型相同值也相同)。在 swift 3.0 中,where 写在大括号("{ }")之前,函数定义之后,swift 2.0 的时候,where 语句写在尖括号("<>")内。
注:<T:Equatable> 和 <T> ... where T: Equatable 的作用是一致的。