1. Декларация
visit: (Element) -> Void
В приведенном выше коде visit
объявляется как closure
типа (Element)->Void
. Он будет принимать значение типа Element
( generi c type ), где бы оно ни вызывалось.
2. Инициализация
Поскольку traverseInOrder(visit:)
принимает closure
, то вы передаете его при вызове этого метода.
Так вы обычно инициализируете closure
,
tree.traverseInOrder { (value) in
print(value)
}
Код ниже - то же самое, что и выше, только сокращение для него.
tree.traverseInOrder {
print($0)
}
3. Вызов
visit(value)
Вот как вы вызываете visit
closure
, передав ему соответствующее значение.