usakdsteen

ゆうさくですてぃーん

ごう:でふぁあ

go言語のdeferの実行タイミングを今までずっと勘違いしてた

今日今さっき試して気づいた

 

スコープ抜けで実行されるのかと勘違いしてた…

正しくは関数抜けのときに実行される…

https://golang.org/doc/effective_go.html#defer

 

 

スコープ抜けで始末処理やって欲しい場合は

スコープ内を関数として実装するか

スコープ抜ける場所全部で始末処理を書くか…

 

なのかな…