既知のタイプクロージャの構文を理解しようとしています。以下はSwift:既知のタイプのクロージャー構文
例です。
func applyMutliplication(value: Int, multiFunction: Int -> Int) -> Int {
return multiFunction(value)
}
applyMutliplication(2, multiFunction: {value in
value * 3 // returns a 6
})
私はmultiFucntion: Int -> Int
に苦しんでいます。これは(multiFunction: Int) -> Int
と同じですか?
私が遊び場で、次の署名を試してみたとき、私はエラーを取得:
//below gives an error
func applyMutliplication(value: Int, ((multiFunction: Int) -> Int)) -> Int {
return multiFunction(value)
}
私の理解では、次のとおりです。 applyMultiplication
はvalue
と呼ばれるInt
に取り、そしてInt
とかかりと呼ばれる閉鎖Int
を返します。 applyMultiplication
もInt
を返します。しかし、私は{value in value * 3}
はそれが6
を返すようになりない方法としてで混乱していますか?