はじめに
本記事は以下のツイートの翻訳転載です。
defer
を工夫すると呼び出し時とdefer時(これをなんて言うかわからない)の処理を1つの関数で書くことができる、という内容になります。
個人的にはなるほど確かに賢いな、と思う反面、メインの処理でdefer
を見た時に考慮すべきことが増えそうなので、濫用すべきではないかと思いました。
後続のPostに投げられている実行時間計測では便利のかも、と思いつつ、計測開始タイミングは指定できる一方計測終了タイミングはdefer
のタイミングでしかないので使いづらいのでは、と思ったり。
Golang Tips #2: マルチステージdefer
defer
だけで、ある関数を別の関数の最初と最後の両方で実行することができる。