Cloures

작성일

Cloures

표현식

{ (parmeters) -> ReturnType in
  statements
}

문자열을 출력하는 가장 단순한 Cloures

let c = { print("Hello, Swift") } // () -> ()
c() // Hello, Swift

Cloures에 파라미터와 Return 추가하기

let c2 = { (str: String) -> String in 
  return "Hello, \(str)"
}

let result = c2("Clousre")
print(result)

출력

Hello, Clousre

Cloures를 파라미터로 전달하기

typealias SimpleStringClosure = (String) -> String

func perform(closure): SimpleStringCloure) {
  print(closure("IOS"))
}

perform(closure: c2)
perform(closure: { (str: String) -> String in 
  return "Hi, \(str)"
})

출력

Hello, IOS
Hi, IOS