Geon

defer 본문

swift/개념

defer

jgkim1008 2022. 3. 27. 15:39

defer

defer란 연기하다 라는 뜻을가집니다.

func deferTest() {
    print("1")
    defer{
        print("defer")
    }
    print("2")
}

deferTest()

// 1
// 2
// defer

func deferTest() {
    defer{
        print("defer1")
    }
    defer{
        print("defer2")
    }
    defer{
        print("defer3")
    }
}

deferTest()
// defer3
// defer2
// defer1
func deferTest() {
    defer{
        defer {
            print("defer1")
        }
        print("defer2")
    }
    defer{
        defer {
            print("defer3")
        }
        print("defer4")
    }
}

deferTest()

// defer4
// defer3
// defer2
// defer1

defer는 Stack에 쌓인 순서대로 실행됩니다.