标签: swift generics protocols swift-protocols associated-types
为什么Swift的设计者不允许这样做:
protocol Download<T> { var x: T }
而是强迫我们这样做:
protocol Download { associatedtype: T var x: T }
我想是因为这样您可以限制/默认关联类型,这在协议级别的通用参数上是不可能的,但仅此而已?
答案 0 :(得分:0)
这是因为在编译类型之前必须先定义类型。这是必需的,因为Swift是一种类型安全的语言。
Swift