Swift-奇怪的方法签名语法

Swift-奇怪的方法签名语法,swift,Swift,我无法理解我在使用开源框架时最后遇到的以下方法签名: public func myFunc<A: TypeOfA, B: TypeOfB, C: TypeOfC> (someA: A) -> (someB: B) -> ReturnedType { // BODY OF THE FUNC } public func myFunc (A:A) ->(B:B) ->返回类型{ //函数体 } 为什么有两个返回箭头“->”?有人知道我在哪里可以

我无法理解我在使用开源框架时最后遇到的以下方法签名:

public func myFunc<A: TypeOfA, B: TypeOfB, C: TypeOfC>
    (someA: A)
    -> (someB: B)
    -> ReturnedType  {

// BODY OF THE FUNC

}
public func myFunc
(A:A)
->(B:B)
->返回类型{
//函数体
}
为什么有两个返回箭头“->”?有人知道我在哪里可以得到更多关于这个语法的信息吗?在苹果公司的Swift文件里找到什么了吗

我说的不是泛型,而是参数的声明方式

是的,这在xcode 7.3中编译得很好


谢谢

函数接受一个参数,
someA:A
,然后返回另一个函数

它返回的函数接受
someB:B
并返回
ReturnedType

这相当于:

public func myFunc<...>(someA: A) -> ((someB: B) -> ReturnedType) {
    ...
}
public func myFunc(someA:A)->((someB:B)->ReturnedType){
...
}

typealias SecondFunction=(someB:B)->ReturnedType
公共函数myFunc(someA:A)->SecondFunction{
...
}
typealias SecondFunction = (someB: B) -> ReturnedType
public func myFunc<...>(someA: A) -> SecondFunction {
    ...
}