func myfunc<T>(i:T) -> T {
return i
}
有可能把这个泛型函数变成闭包吗?
let myfunc = { <T>(i:T) -> T in
return i
}
这不管用...
func myfunc<T>(i:T) -> T {
return i
}
有可能把这个泛型函数变成闭包吗?
let myfunc = { <T>(i:T) -> T in
return i
}
这不管用...
不,因为变量和表达式不能是泛型的.只有泛型函数和泛型类型.
澄清一下:在某些语言中,你可以使用带有通用量词的类型,比如forall a. a -> a
.但在Swift中,类型不能有通用量词.所以表达式和值本身不能是泛型的.函数声明和类型声明可以是泛型的,但当您使用此类泛型函数或此类泛型类型的实例时,会 Select 某个类型(可以是实类型或类型变量)作为类型参数,然后您获得的值本身就不再是泛型的.