タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

goとprogrammingに関するYaSuYuKiのブックマーク (1)

  • Goにatexitやグローバルなデストラクタがない理由 - Qiita

    CやC++ではatexit関数で関数を登録しておくと、プログラムの終了時にその関数を自動的に走らせることができる。そういう機能はRubyPythonにもある。 Goにはそういう機能はない。実装を忘れているのではなくて、意図的にそういう機能を持たせていないのだ。これについてIan Lance Taylorさんが大変説得力のある説明をしていた。 まず第一に、どんなプログラムでも任意の箇所でクラッシュしうるし、まったくバグのないプログラムでもいきなりkillで殺されたりマシンが電源断で落ちるということがある。従ってどんなプログラムも、突然終了させられたあとに、もう一度きちんと動くことができなければならない。つまりatexitはきれいに終了するための機能ということで、atexitが呼び出されないとうまく動かないプログラムというのはそもそも間違っているということになる。 大きなC++プログラムでは

    Goにatexitやグローバルなデストラクタがない理由 - Qiita
    YaSuYuKi
    YaSuYuKi 2014/09/01
    なくても動く必要がある物なら、始めから存在しなくていいという判断か
  • 1