Apple-CS-interview / iOS-CS-interview

7 stars 0 forks source link

defer란 무엇인지 설명하시오. #25

Open Do-hyun-Kim opened 12 months ago

Do-hyun-Kim commented 12 months ago

defer란 무엇인지 설명하시오.

Defer Statement

defer {
    <#statements#>
}

func sayNumber() {
    defer {
        print("print check : 1")
    }
    print("print check : 2")
}

//print check : 2
//print check : 1

func sayCheckNumber() {
    defer {
        for i in 0..<5 {
            print("for loop check : \(i)")
        }
    }
    print("print check : 5")
}

// print check : 5
// for loop check : 0
// for loop check : 1
// for loop check : 2
// for loop check : 3
// for loop check : 4

func sayNestedNumber() {
    defer {
        print("print check : 1")
    }

    defer {
        print("print check : 2")
    }

    defer {
        print("print check : 3")
    }
    print("print check : 4")
}

// print check : 4
// print check : 3
// print check : 2
// print check : 1

Defer 호출 되지 않는 경우

Defer를 사용하는 경우

📝 참고 사이트

vichye-1 commented 12 months ago

defer란?

defer {
    //statements
}

defer가 사용되는 곳

출처

ronick-grammer commented 11 months ago

defer란

블록 내에서 작성된 위치에 상관없이 함수 종료시점에 실행되도록 하는 클로저이다.

func ...() {
 defer {
   print("world")
 }
 print("hello")
}
// 결과
// hello
// world

📝 참고 사이트

Hminchae commented 11 months ago

defer 란