Swift泛型编程全解析
1. 泛型类型约束
泛型类型约束规定了泛型类型必须继承自特定类或遵循特定协议。这使得我们能在泛型函数中使用父类或协议定义的方法和属性。
例如,重写 testGenericComparable 函数以使用 Comparable 协议:
func testGenericComparable<T: Comparable>(a: T, b: T) -> Bool{
return a == b
}
指定类型约束时,在泛型占位符后加上类或协议约束,用冒号分隔。该函数会比较两个参数的值,相等返回 true ,否则返回 false 。
我们也能像声明多个泛型类型一样声明多个约束,示例如下:
func testFunction<T: MyClass, E: MyProtocol>(a: T, b: E) {
//Statements
}
在这个函数中, T 占位符定义的类型必须继承自 MyClass 类, E 占位符定义的类型必须遵循 MyProtocol 协议。
2. 泛型类型
泛型类型是可以处理任何类型的类、结构
超级会员免费看
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



