カテゴリ: Go言語 更新日: 2026/04/06

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 buildのほかに、go runというコマンドも用意されています。どちらもプログラムを動かすために使われますが、役割と使われる場面が少し異なります。初心者の方は、この違いを理解しておくと作業がとても楽になります。

go runは、ソースコードを一時的にビルドして、そのまま実行まで行うコマンドです。次のように入力するだけで、実行結果をすぐに確認できます。


go run main.go

一方、go buildは実行ファイルを作成することが目的のコマンドです。実行ファイルが残るため、後から何度でも同じプログラムを実行できます。動作確認だけをしたい場合は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の三項演算子とは?初心者でもわかる条件分岐を短く書くテクニック
New2
Swift
Swiftの再帰関数の使い方をやさしく解説!初心者でも理解できる再帰の基本と実践例
New3
Swift
Swiftのthrowing関数とエラーハンドリングを徹底解説!初心者でもわかるエラー処理の基本
New4
Kotlin
Kotlinのメモリプロファイリングツールの使い方を完全解説!初心者でも理解できるメモリ使用量の調べ方
人気記事
No.1
Java&Spring記事人気No1
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Java&Spring記事人気No3
Swift
Swiftの制御構造まとめ|初心者が覚えるべき基本文法
No.4
Java&Spring記事人気No4
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Kotlinマルチプラットフォーム開発の制約と注意点を徹底解説!Kotlin/NativeとKMPの基礎
No.7
Java&Spring記事人気No7
Kotlin
Kotlinのアプリで外部APIキーを安全に管理するテクニック完全解説 Android開発とKotlinセキュリティ対策
No.8
Java&Spring記事人気No8
Go言語
Go言語のgolintでコードの品質を高めよう!初心者でも分かるコードチェックツール