/note/tech

GoにはなぜXという機能がないのか? 〜テスト関数ごとの暗黙的な初期化処理の実現を考察する

しかし、Goにはこのようなテスト関数ごとに暗黙的に実行される初期化処理を定義できません。Goが他言語に劣っているようにもみえますが、本当にそうなのでしょうか? 公式のFAQにもあるように、とある機能がないことには何かしらの理由があるようです。

簡単に意訳すると、「⁠10個のテストのうち9個のみが初期化処理を必要とすることもあるため、暗黙的ではなく明示的に書くべき」「⁠暗黙的な実行は時間の経過とともに複雑さを増すことになるため明示的でシンプルであるべき」と主張しています。