Golangのdefer


deferはファイルcloseなど関数がreturnするときに処理させたいものを宣言しておくもの。
ファイルのcloseとbufferのフラッシュなんかで順番は大丈夫なのかなと思ってググったところ、

http://qiita.com/tenntenn/items/9aebce917760f157c44e


First in Last outで、引数は宣言した時点で評価されるらしいです。
なるほど。

コメント

  1. Please keep in mind that Go's deferred functions are called when the function is returning, not at the end of the block like C++'s RAII.

    返信削除
  2. ありがとうございます、ネストしたりするとわけがわからなくなってくるので気をつけます!

    返信削除

コメントを投稿

このブログの人気の投稿

再現性なんてないさ(?)

特に収穫がない日

jupytherにチャレンジ