是否可能定义一个类,其通用参数都符合某个给定类型? 例如: protocol Foo{} class Bar : Foo {} class Baz : Foo {} class Qux<T, U, V where U: T, V: T> {} let qux = Qux<Foo, Bar, Baz>()
不是指类型。类型约束指定一个类型参数必须继承自一个类,或符合协议或协议组合:class SomeClass<TypeParameter: ProtocolOrClass> 为什么不尝试这样做: protocol Foo {} class Bar: Foo {} class Baz: Foo {} class Qux<U: Foo, V: Foo> {} let qux = Qux<Bar, Baz>()