2 ポイント 投稿者 ehlegeth 2021-12-10 | 1件のコメント | WhatsAppで共有
  • リソースを自動的に解放するために、GoではDeferを使うことができる

→ ただし、ループ内でリソースが割り当てられるような場合は、不可能ではないものの複雑になる

→ 常にミスをする余地がある

  • Rustでは、リソースに対してDrop traitを実装することで、リソースを自動的に解放できる

→ ループなどの場合でもDeferのような問題はなく、Deferによるリソース解放の呼び出しも不要

1件のコメント

 
ehlegeth 2021-12-10

Goにも try-resource に関する提案はありますが、特に気にしているようには見えませんね:

https://github.com/golang/go/issues/29120

こういうところを見ると、リソースの解放を別のモジュールの下に隠さないようにしているのは、Go の哲学でもあるように思います。

https://stackoverflow.com/questions/59044658/…