Go言語とは
2026/07/28
Go(Golang)は、静的型付け・ガベージコレクション・組み込みの並行処理を備えたコンパイル言語です。Googleによって開発され、2009年に公開されました。
言語の性質
ソースはコンパイルしてから実行し、型の不整合はビルド時に検出されます。メモリはランタイムのガベージコレクションが回収するため、ヒープの解放をプログラマが担う必要はありません。成果物は依存ライブラリを同梱した単一バイナリになりやすく、仮想マシンなしで配布できます。
並行処理向けに、ゴルーチンとチャネルが言語に組み込まれています。ゴルーチンはOSスレッドより起動コストが小さく、多数のゴルーチンを並行に走らせやすい設計です。失敗は例外ではなくerror型の戻り値で明示的に扱います。クラス継承はなく、構造体の埋め込みとインターフェースで振る舞いを組み立てます。
言語仕様が定義する領域
Go言語仕様は、どのようにプログラムを書けるかと、書いたプログラムが実行時にどう動くかを定めます。型の整合性や変換ルール、変数の初期化、ifやforなどの制御、関数呼び出しやメソッドの振る舞いがここに含まれます。
プログラムのまとまりとしてはパッケージとモジュールが規定され、起動時の初期化順序やpanicの扱い、ゴルーチンとチャネルに関する同期の前提も仕様に書かれています。コンパイラとランタイムはこれらのルールに従い、仕様外の挙動は実装に委ねられます。