Code & Book
golang

【Golang】deferについて

  • 関数の実行を、呼び出し元の関数の終わりまで遅延させる
func main() {
	defer fmt.Println("world")
	fmt.Println("hello")
}

>>> hello
>>> world
  • 複数存在する場合はLIFOの順番(最初に渡した処理が最後に実行される)で実行される
func main() {
	defer fmt.Println("world")
	defer fmt.Println("hello")
}

>>> hello
>>> world