昨年の9月、私はPHPエンジニアからGolangエンジニアへと転向しました。 それから1年が経ち、技術的な視点はもちろんのこと、開発プロセスへのアプローチにも変化が生まれました。 この記事では、Golangに触れ、得た経験や気づきを振り返ります。 PHPエンジニアの皆さんが、これからGolangを学びたいと思った際の参考になれば幸いです。 循環インポート PHPでは、循環依存に対する強制的な制約がないため、柔軟にクラスやファイル間で参照し合うことができます。 ただし、この柔軟さは設計が複雑になった場合に依存関係がスパゲッティ状になるリスクもはらんでいます。 そのため、PHPでも設計の段階で依存関係に気を配ることが求められます。 また、状況によってはPHPでも循環参照に起因するエラーが発生する場合があります。 一方、Golangでは循環インポートが明確に禁止されており、具体的には以下のような