Блок кода с определенным функционалом. Замыкание представляет из себя безымянную функцию, которую можно присвоить переменной или константе или передать ее как аргумент. Начинается и заканчивается фигурной скобками. После открывающей фигурной скобки описываются параметры и возвращаемое значение по аналогии с функцией. Тело замыкания начинается после ключевого слова in: При вызове функции имена параметров не указываются var d={(num:Int)-> Int in var x = num x+=10 return x } d(32) Пример использования замыкания в качестве аргумента: let allNum = [1,20,1,4] func nFilter(sM:[Int], searchNum:(Int)->Bool){ var fEnd:[Bool]=[] for c in sM{ let tmp=searchNum(c) if tmp==true{fEnd.append(tmp)} else{fEnd.append(tmp)} } print(fEnd) } nFilter(sM:allNum, searchNum:{(banknot:Int)->Bool in return banknot==1}) При передаче замыкания в качестве аргумента можно опустить описание типов т к они описаны параметром nFilter(sM:allNum, searchNum:{banknot in return banknot==20})