Updated:

less than 1 minute read

개요

  • 함수 반환 전에 특정 함수의 호출을 보장하는 키워드


예제

  • 코드
     package main
        
     func test1() {
     	defer println("end")
        
     	println(1)
        
     	if true {
     		return
     	}
        
     	println(2)
     }
        
     func test2() {
     	defer println("a")
        
     	println(1)
        
     	defer println("b")
        
     	println(2)
     }
        
     func test3() {
     	defer println("a")
     	defer println("b")
     	defer println("c")
     }
        
     func main() {
     	test1()
        
     	println("\n------\n")
        
     	test2()
        
     	println("\n------\n")
        
     	test3()
     }
    
  • 실행 결과
     1
     end
        
     ------
        
     1
     2
     b
     a
        
     ------
        
     c
     b
     a