カテゴリ: Go言語 更新日: 2026/01/28

Go言語のビルドの基本!go buildコマンドの使い方を初心者向けに解説

Go言語のビルドの基本!go buildコマンドの使い方
Go言語のビルドの基本!go buildコマンドの使い方

先生と生徒の会話形式で理解しよう

生徒

「先生、Go言語のプログラムを作ったんですけど、これってどうやって実行すればいいんですか?」

先生

「Goでは、go buildというコマンドを使うと、プログラムを実行可能なファイルに変換することができます。」

生徒

「実行可能なファイルって、例えばWindowsなら.exeファイルみたいなものですか?」

先生

「その通りです。Goではソースコードから直接コンピュータが理解できるファイルに変換する作業をビルドと言います。」

生徒

「じゃあ、go buildを使うだけでプログラムが動くんですか?」

先生

「基本はそうですが、いくつか知っておくと便利なポイントがあります。順番に見ていきましょう。」

1. go buildとは何か?

1. go buildとは何か?
1. go buildとは何か?

Go言語のgo buildコマンドは、書いたソースコードをコンピュータが直接実行できる形に変換するための基本的なコマンドです。プログラミング未経験の方にとっては少し難しく聞こえるかもしれませんが、「Goで書いたプログラムを動かせるファイルにする作業」と考えると分かりやすいでしょう。 例えば、main.goというファイルは人が読むためのテキストですが、そのままでは実行できません。go buildを実行することで、Windowsならmain.exe、MacやLinuxならmainという実行ファイルが作られ、ダブルクリックやコマンド入力でプログラムを動かせるようになります。

実際には、次のようなとてもシンプルなプログラムでも、ビルドを行うことで実行可能になります。


package main

import "fmt"

func main() {
    fmt.Println("はじめてのGoビルド")
}

このような短いプログラムでも、go buildを使えば実行ファイルが生成されます。Go言語では、この「ビルド」という工程が必ず存在するため、まずはgo buildがプログラム実行の出発点であることを押さえておきましょう。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

まずはgo buildのいちばん基本となる使い方を確認しましょう。操作はとてもシンプルで、ターミナルやコマンドプロンプトを開き、main.goなどのGoファイルが保存されているフォルダへ移動します。プログラミング未経験の方は、「プログラムの置いてある場所で命令を実行する」と覚えると理解しやすいです。

次に、以下のコマンドを入力して実行します。これがGo言語で最も基本となるビルド操作です。


go build main.go

コマンドを実行すると、エラーが表示されなければビルドは成功です。同じフォルダ内に新しい実行ファイルが作成されます。Windows環境ではmain.exe、MacやLinux環境ではmainという名前のファイルが生成されます。このファイルが、実際に動かせるGoプログラム本体です。

ここでは画面に特別なメッセージが表示されないことも多いため、「何も起きていない」と感じるかもしれませんが、実行ファイルが増えていれば正しくビルドされています。まずはこの流れを一度体験し、go buildの基本操作に慣れていきましょう。

3. 実行ファイルの名前を指定する

3. 実行ファイルの名前を指定する
3. 実行ファイルの名前を指定する

go buildを実行したとき、何も指定しなければ実行ファイルの名前はソースコードのファイル名がそのまま使われます。しかし、作成したプログラムの内容が分かりにくい名前だったり、複数のGoプログラムを同じフォルダで管理したい場合は、実行ファイル名を自分で決められると便利です。

そのようなときに使うのが-oオプションです。次のように指定すると、実行ファイルの名前を自由に変更できます。


go build -o myprogram main.go

このコマンドを実行すると、main.goからmyprogramという名前の実行ファイルが生成されます。Windows環境では自動的にmyprogram.exeとなり、MacやLinuxではmyprogramという名前になります。 プログラムの内容に合わせた名前を付けておくことで、後から見返したときにも分かりやすくなり、初心者の方でもファイル管理がしやすくなります。

4. ディレクトリ単位でビルドする

4. ディレクトリ単位でビルドする
4. ディレクトリ単位でビルドする

Go言語では、ファイルを一つずつ指定しなくても、フォルダ(ディレクトリ)ごとにまとめてビルドできます。実際の開発では、1つのプログラムが複数のGoファイルで構成されることが多いため、この方法はとてもよく使われます。初心者の方は「プログラム一式が入った箱を丸ごとビルドする」とイメージすると分かりやすいでしょう。

例えば、myappというフォルダの中にmain.goや他のGoファイルが入っている場合、次のようにディレクトリ名を指定してビルドできます。


go build ./myapp

このコマンドを実行すると、myappディレクトリ内のmain.goを起点としてプログラム全体がビルドされ、実行ファイルが生成されます。ファイルが増えてもコマンドは変わらないため、プロジェクトが大きくなっても扱いやすいのが特徴です。

5. 実行結果の確認方法

5. 実行結果の確認方法
5. 実行結果の確認方法

ビルドが無事に完了したら、次は実際にプログラムを動かしてみましょう。生成された実行ファイルは、ターミナルやコマンドプロンプトから直接実行できます。ここで初めて「自分が書いたGo言語のプログラムが動く」瞬間を確認できます。

MacやLinuxの場合は、次のように実行ファイル名の前に./を付けて実行します。これは「今いるフォルダの中にあるプログラムを実行する」という意味です。


./myprogram

Windowsの場合は、実行ファイル名をそのまま入力します。拡張子の.exeまで含めて指定する点に注意しましょう。


myprogram.exe

コマンドを実行して、プログラム内で設定した文字が画面に表示されれば成功です。エラーが出ずに結果が表示されることで、ビルドから実行までの一連の流れを正しく行えたことが確認できます。

6. go buildとgo runの違い

6. go buildとgo runの違い
6. go buildとgo runの違い

Go言語にはgo runというコマンドもあります。これはビルドしてすぐに実行する便利なコマンドです。


go run main.go

違いは、go buildは実行ファイルを生成するのに対して、go runは一時的にビルドしてその場で実行するだけです。開発中のテストにはgo run、配布用にはgo buildを使うのが一般的です。

7. 複数ファイルのビルド

7. 複数ファイルのビルド
7. 複数ファイルのビルド

Go言語では、複数のソースコードファイルをまとめてビルドすることも可能です。


go build main.go utils.go

この場合、main.goutils.goをまとめてビルドし、1つの実行ファイルが生成されます。複雑なプロジェクトでも、この方法で効率よくビルドできます。

8. ビルド時の依存関係管理

8. ビルド時の依存関係管理
8. ビルド時の依存関係管理

Goではgo.modというファイルを使って、外部パッケージの依存関係を管理します。ビルド前に


go mod tidy

を実行すると、必要な外部パッケージが自動でダウンロードされ、ビルドに必要な環境が整います。これにより、複数のライブラリを使ったプロジェクトでもスムーズにビルドできます。

9. クロスコンパイルで他のOS向けにビルド

9. クロスコンパイルで他のOS向けにビルド
9. クロスコンパイルで他のOS向けにビルド

Goの大きな特徴の一つにクロスコンパイルがあります。例えば、MacでWindows用の実行ファイルを作ることも可能です。


SET GOOS=windows
SET GOARCH=amd64
go build -o myprogram.exe main.go

このように環境変数を設定するだけで、異なるOSやCPUアーキテクチャ向けの実行ファイルを生成できます。

10. よくあるエラーと対処法

10. よくあるエラーと対処法
10. よくあるエラーと対処法

ビルド時に「packageが見つからない」と表示されることがあります。これは依存パッケージがダウンロードされていない場合に起こります。


go get github.com/user/package

このコマンドで必要なパッケージをインストールすれば解決します。また、go mod tidyを使って依存関係を整理するのもおすすめです。

Go言語を基礎からスッキリ学びたい人や、 文法だけでなく「実用的な使い方」まで押さえたい人には、 定番の入門書がこちらです。

基礎からわかるGo言語をAmazonで見る

※ Amazon広告リンク

まとめ

まとめ
まとめ

Go言語におけるビルド作業の全体像を振り返る

ここまでの記事では、Go言語でプログラムを実行可能な形にするためのビルド作業について、go buildコマンドを中心に詳しく学んできました。Go言語はソースコードを書くだけでは実行できず、必ずビルドという工程を通して、コンピュータが直接実行できるファイルを生成します。この流れを理解することは、Go言語を使った開発を進めるうえで欠かせない基礎知識です。 go buildは非常にシンプルなコマンドでありながら、単一ファイルのビルド、複数ファイルのビルド、ディレクトリ単位でのビルド、実行ファイル名の指定、さらにはクロスコンパイルまで幅広く対応しています。初心者の方でも基本的な使い方を覚えれば、実務や個人開発で困ることはほとんどありません。

go buildと開発フローの関係

Go言語の開発では、ソースコードを書く、ビルドする、実行して確認する、という流れを何度も繰り返します。開発途中の簡単な動作確認にはgo runが便利ですが、最終的に配布したり、サーバーに配置したりする場合には、必ずgo buildで実行ファイルを作成します。 実行ファイルを生成することで、Go言語がインストールされていない環境でもプログラムを動かせる点は、大きな強みです。特に業務システムやツール配布、CLIアプリケーション開発では、go buildの理解がそのまま実践力につながります。

ビルドオプションと依存関係管理の重要性

-oオプションを使った実行ファイル名の指定や、ディレクトリ単位でのビルドは、プロジェクトが大きくなるほど重要になります。また、go.modによる依存関係管理とgo mod tidyの活用によって、外部ライブラリを含むプロジェクトでも安定したビルドが可能になります。 依存関係が正しく管理されていないと、ビルドエラーや実行時エラーにつながるため、ビルド前に環境を整える意識を持つことが大切です。これは初心者の段階から身につけておきたい習慣と言えるでしょう。

まとめとしてのビルド確認サンプル


package main

import "fmt"

func main() {
    fmt.Println("go buildで生成された実行ファイルが動いています")
}

上記のようなシンプルなプログラムでも、go buildを実行することで実行ファイルが生成されます。この体験を通して、「ソースコードを書く」と「プログラムを動かす」の間にビルド工程が存在することを実感できたはずです。Go言語ではこの工程がとても分かりやすく、初心者でも安心して扱える点が魅力です。

クロスコンパイルの実用性

Go言語の大きな特徴として、クロスコンパイルのしやすさがあります。環境変数を設定するだけで、別のOSやCPU向けの実行ファイルを作成できるため、複数の環境で動作するツールを効率よく配布できます。これは他の言語では準備が大変なことも多く、Go言語が選ばれる理由の一つになっています。

先生と生徒の振り返り会話

生徒「go buildって、最初は難しそうに見えましたけど、基本は意外とシンプルなんですね。」

先生「そうですね。基本を押さえれば、あとは必要に応じてオプションを使うだけです。」

生徒「go runとgo buildの使い分けも理解できました。」

先生「開発中はgo run、配布や本番ではgo buildという意識が大切です。」

生徒「クロスコンパイルが簡単なのも、Go言語の強みですね。」

先生「その通りです。ビルドの仕組みを理解すると、Go言語の便利さがより実感できますよ。」

今回学んだGo言語のビルドの基本は、今後どんなGoプログラムを書く場合でも必ず役に立ちます。go buildの使い方、実行ファイルの扱い方、依存関係管理、クロスコンパイルまで理解できれば、初心者から一歩進んだ開発者としての土台が整います。ぜひ実際に手を動かしながら、Go言語のビルド作業に慣れていきましょう。

関連セミナーのご案内

【超入門】ゼロから始めるGo言語プログラミング:最速で「動くアプリ」を作るマンツーマン指導

「プログラミングの仕組み」が根本からわかる。Go言語でバックエンド開発の第一歩を。

本講座を受講することで、単なる文法の暗記ではなく、「プログラムがコンピュータの中でどう動いているか」という本質的な理解につながります。シンプルながら強力なGo言語(Golang)を通じて、現代のバックエンドエンジニアに求められる基礎体力を最短距離で身につけます。

具体的な開発内容と環境

【つくるもの】
ターミナル(黒い画面)上で動作する「対話型計算プログラム」や、データを整理して表示する「ミニ・ツール」をゼロから作成します。自分の書いたコードが形になる感動を体験してください。

【開発環境】
プロの現場でシェアNo.1のVisual Studio Code (VS Code)を使用します。インストールから日本語化、Go言語用の拡張機能設定まで、現場基準の環境を一緒に構築します。

この60分で得られる3つの理解

1. 環境構築の完全な理解

「なぜ動くのか」という設定の仕組みを理解し、今後の独学で詰まらない土台を作ります。

2. Go言語の基本構造(変数・型)

データの種類やメモリの概念など、他言語にも通じるプログラミングの本質を学びます。

3. 読みやすいコードの書き方

ただ動くだけでなく、誰が見ても分かりやすい「綺麗なコード」を書くための考え方を伝授します。

※本講座は、将来的にバックエンドエンジニアクラウドインフラに興味がある未経験者のためのエントリー講座です。マンツーマン形式により、あなたの理解度に合わせて進行します。

セミナー画像

初めてのGo言語を一緒に学びましょう!

カテゴリの一覧へ
新着記事
New1
Swift
Swiftのnilとは?Optionalとの関係や初期化について初心者向けにやさしく解説!
New2
Go言語
Go言語のinit関数の役割と使い方!プログラム起動時の初期化処理
New3
Go言語
Go言語のマップの順序保証がない理由と扱い方の工夫をやさしく解説!初心者でもわかる基本知識
New4
Kotlin
Kotlinのforループの基本!範囲・配列・コレクションの繰り返し処理
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.2
Java&Spring記事人気No2
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.3
Java&Spring記事人気No3
Go言語
Swiftの文字列操作を完全ガイド!初心者でもわかるStringの基本
No.4
Java&Spring記事人気No4
Go言語
Go言語のSQLインジェクション対策を完全解説!初心者でも安全なデータベース操作がわかる
No.5
Java&Spring記事人気No5
Swift
Swiftの高階関数map・filter・reduceを完全解説!初心者でもわかる配列操作の基本
No.6
Java&Spring記事人気No6
Kotlin
KotlinのRoomで複雑なクエリを使いこなす!初心者でもわかる応用テクニック
No.7
Java&Spring記事人気No7
Go言語
Go言語のgo installコマンドの役割とインストール先の仕組みを徹底解説!
No.8
Java&Spring記事人気No8
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方