Я пытаюсь понять синтаксис за закрытыми типами закрытий.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
принимает в Int
называется value
и замыкание называется multiFunction
, которая принимает Int
и возвращает Int
. applyMultiplication
также возвращает Int
Но тогда я запутался с того, как это {value in value * 3}
заставляет его вернуть 6
?