Avatar
ループしてもスコープ抜けたら無効ってことじゃない?
7:32 AM
defer だとループした回数だけ実行?
7:34 AM
package main import ( "fmt" ) func main() { for i := 0; i < 3; i++ { defer fmt.Println(i) } fmt.Println("end") } end 2 1 0
7:34 AM
スコープを抜けても実行されなくて、関数を抜けるときにそれまでのループで accumulate された defer が実行される。
7:35 AM
でも、 handle ではエラーが発生したときに、スコープ抜けた分は実行されないということかと。