본문 바로가기
모바일앱/Swift

Day10 closure

by GeekCode 2021. 12. 3.
반응형
import UIKit
//클로저
//클로저 자체는 메소드를 실행하게 되는 것


//#1 String을 반환하는 클로저
let myName : String = {
    // myName 으로 들어간다
    return "기꼬"
}()
print(myName)
// -> 기꼬

//#2 매개변수가 있는 클로저만들기
// 클로저 정의
//let myRealName = { (name: String) -> String in
//    return "개발하는 \(name)"
//}

//클로저 정의
//myRealName이라는 클로저를 실행하게 되면, String자료형의 name이라는 매개변수로 받아서 최종적으로 String을 내뱉는 클로저
let myRealName : (String) -> String = { (name: String) -> String in
    return "개발하는 \(name)"
}

myRealName("기꼬")
// -> "개발하는 기꼬"

// #3 반환값이 없는 클로저

// 따로 반환값을 뱉지 않고 매개변수를 가지면서 아래 로직을 담을 수도 있다.
// String을 담아서 내뱉는 것은 없고 실제로 name이라는 String을 받아서 아무런 처리도 하지 않는다.
let myRealNameLogic : (String) -> Void = { (name: String) in
    print("개발하는 \(name)")
}

myRealNameLogic("기꼬 호롤롤로")
// -> 개발하는 기꼬 호롤롤로
반응형

'모바일앱 > Swift' 카테고리의 다른 글

조건문(IF, Switch)  (0) 2021.12.08
Enumeration (열거형)  (0) 2021.12.08
Array  (0) 2021.12.08
Day11_extra_Tuple  (0) 2021.12.07
Day09 generic  (0) 2021.12.03
Day08 function parameter  (0) 2021.12.03
Day07 property_observer  (0) 2021.12.02
Day06 class_struct  (0) 2021.11.30