Defer
- defer
Every defer
statement is executed after the enclosing function ends.
In reverse order. (Similar to END
block in Perl, similar to with
context in python)
package main
import "fmt"
func main() {
fmt.Println("first")
defer fmt.Println("one")
fmt.Println("second")
defer fmt.Println("two")
fmt.Println("third")
}
$ go run defer.go
first
second
third
two
one