defer란1 defer DEFER package main import "fmt" func main() { defer fmt.Println("world") fmt.Println("hello") } 함수 실행이 끝날때 까지 실행되지 않는 구문이다. 위의 예제를 보면 world를 프린트하는 기능이 앞에 있지만, 실제로 hello가 먼저 실행된다. package main import "fmt" func main() { fmt.Println("counting") for i := 0; i < 10; i++ { defer fmt.Println(i) } fmt.Println("done") } 위와 같이 여러번 호출된 경우는 가장 나중에 사용된 defer구문부터 실행된다. 위 예제에서는 9,8,7,6... 이순서로 함수가 끝나는 순간에 프린트.. 2021. 1. 3. 이전 1 다음