main-logo

技術登攀録

一覧へ

go


基礎知識

Go言語はGoogleが大規模サービスの運用において直面していた問題を解決するために考案された言語。研究向け、学術向けの設計ではなく、ソフトウェア工学のための言語設計となっている。

Googleで使用していたCおよびC++では依存関係管理が複雑になり過ぎており、同じ標準ライブラリが複数回includeされることによるビルド時間の増加など問題が起こっていた。

Googleは多くのシステムをCやC++で構築しており、C言語エンジニアが多かったためCライクな言語仕様が移行先として求められていた。

Goの依存関係は明示的であり、未使用のimportが存在するとコンパイル時にエラーになるため、余計なimportがないことを保証できる。

go buildコマンドはコマンド実行ディレクトリにgo.modがあったらそのディレクトリを一つのプロジェクトとしてその配下のmain packageのmain関数を探しにいく。go.modがなかったら単一ファイルとして指定されたディレクトリのmain packageのmain関数を探しにいく。(詳細は要確認)

ハック

実践

意見・感想

書籍等

参考文献