Just to make sure everything is clear, we’re going to write another closure example using two parameters.
This time our travel()
function will require a closure that specifies where someone is traveling to, and the speed they are going. This means we need to use (String, Int) -> String
for the parameter’s type:
func travel(action: (String, Int) -> String) {
print("I'm getting ready to go.")
let description = action("London", 60)
print(description)
print("I arrived!")
}
We’re going to call that using a trailing closure and shorthand closure parameter names. Because this accepts two parameters, we’ll be getting both $0
and $1
:
travel {
"I'm going to \($0) at \($1) miles per hour."
}
Some people prefer not to use shorthand parameter names like $0
because it can be confusing, and that’s OK – do whatever works best for you.
SPONSORED Build a functional Twitter clone using APIs and SwiftUI with Stream's 7-part tutorial series. In just four days, learn how to create your own Twitter using Stream Chat, Algolia, 100ms, Mux, and RevenueCat.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.