- 関数の実行を、呼び出し元の関数の終わりまで遅延させる
func main() {
defer fmt.Println("world")
fmt.Println("hello")
}
>>> hello
>>> world
- 複数存在する場合はLIFOの順番(最初に渡した処理が最後に実行される)で実行される
func main() {
defer fmt.Println("world")
defer fmt.Println("hello")
}
>>> hello
>>> world
func main() {
defer fmt.Println("world")
fmt.Println("hello")
}
>>> hello
>>> world
func main() {
defer fmt.Println("world")
defer fmt.Println("hello")
}
>>> hello
>>> world