Введение в замыкания в программировании на Swift
«Замыкания — это автономные блоки функций, которые можно передавать и использовать в вашем коде». — Согласно документации Apple.
Введение
Поначалу Clousers может показаться сложным, но это простая концепция, и как только вы поймете, вам будет несложно ее использовать. Прежде чем понимать замыкания, нужно уже знать концепцию функций в программировании. Замыкания — очень привлекательная концепция в разработке IOS, и вы будете часто использовать ее при разработке приложений. 👨💻 Замыкания называются безголовыми функциями? Это правда, и я имею в виду это, давайте посмотрим, почему?
Начнем с примера функций
func additionFunction(number1:Int , number2:Int) -> Int {
let sum:Int = number1 + number2
return sum
}
var addition = additionFunction(number1: 12, number2: 13)
Приведенная выше простая функция сложения принимает два параметра number1 и number2 и возвращает сумму двух переменных.
Давайте посмотрим на тот же пример с замыканием
var addition : (Int, Int) -> Int = {(number1,number2) in
return number1 + number2
}
addition(12, 12)
мы объявили переменную с именем add; упомянутые типы данных переменных (Int, Int) указывают, что более близкий с принимает два аргумента типа Int и Int и -> Int описывает, что замыкание вернет значение типа Int.
Здесь мы использовали скобки {} точно так же, как функции и (число1, число2), которые являются именами аргументов.
Сокращенные замыкания.
Есть еще один способ написать замыкание без написания имен аргументов, таких как число1 и число2, используя позицию $0, $1. так что давайте посмотрим, как это делается.
var addition : (Int, Int) = { in
return $0 + $1
}
В этом случае мы не используем никакого имени аргумента, но мы используем $0, который относится к первому аргументу, переданному замыканию, а $1 относится ко второму аргументу, переданному замыканию. Это гораздо более короткая и чистая версия.
Спасибо за чтение этого блога, я надеюсь, что вы узнали что-то новое и интересное сегодня.