Swift编程:泛型扩展、伞形类型与数组操作详解
1. 泛型扩展
在Swift中,泛型扩展是一种强大的工具。当扩展泛型类型时,泛型的占位符类型名称对扩展是可见的。例如:
class Dog<T> {
var name : T?
}
extension Dog {
func sayYourName() -> T? { // T? is the type of self.name
return self.name
}
}
这里,扩展 Dog 类时可以使用占位符 T 。同时,泛型类型扩展声明可以包含 where 子句,用于限制泛型占位符的解析,以确保代码的合法性。比如:
extension Array where Element:Comparable {
func myMin() -> Element? {
var minimum = self.first
for item in self.dropFirst() {
if item < minimum! {
minimum = item
}
}
return minimum
}
}
从Swift 5.3开始, wh
超级会员免费看
订阅专栏 解锁全文

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



