如何将泛型类型限制为闭包?
这样地:
struct Closure<T where T:closure> {
var closure:T
init(_ c:T) { closure = c }
}
最佳答案
我认为您不可以–相反,使用通用占位符来约束闭包的输入和返回参数,这意味着相同的事情:
struct Closure<T,U> {
var closure: T->U
init(_ c: T->U) { closure = c }
}
let c = Closure { $0 % 2 == 0 }
// c will be a Closure<Int,Bool>
关于swift - Swift:将泛型类型限制为闭包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31581932/