Windows環境でGoの学習を始める際、「Goをインストールしたはずなのにターミナルで go や godoc コマンドが動かない」というトラブルに遭遇することがあります。
本記事では、WindowsにおけるGo環境構築の落とし穴である環境変数(PATH)の設定方法から、ドキュメントツールであるgodoc のセットアップ、最初のプログラムを動かすHello Worldの実行までを網羅して解説します。
💻 よくあるトラブル:コマンドが動かない原因
Goのインストーラー(MSI)を使ってインストールした場合、通常は自動的に環境変数が設定されますが、いくつかの要因でコマンドが認識されないエラー(CommandNotFoundException)が発生します。
go : The term 'go' is not recognized as the name of a cmdlet, function, script file, or operable program.
主な原因
- インストール後にターミナル(PowerShell やコマンドプロンプト)を再起動していない。
- 環境変数
PathにGoの実行フォルダが登録されていない。
Goのデフォルトのインストール先は C:\Program Files\Go です。この中にある C:\Program Files\Go\bin に go.exe が格納されています。ここにパスが通っている必要があります。
💡 解決の鍵:環境変数(PATH)の登録と反映
① 一時的に現在のターミナルに反映する(動作確認用)
現在のターミナルセッションでのみ一時的にパスを通したい場合は、PowerShellで以下を実行します。
$env:Path += ";C:\Program Files\Go\bin;C:\Users\user\go\bin"
② 永続的にシステムへ登録する(推奨)
今後新しく開くすべてのターミナルで有効にするため、ユーザー環境変数 Path に以下の2つのパスを永続的に追加します。
C:\Program Files\Go\bin(Go本体)C:\Users\user\go\bin(go installで追加されるツールの格納先)
PowerShellから管理者権限なしで永続追加するには、以下のコマンドを実行します。
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User) + ";C:\Program Files\Go\bin;C:\Users\user\go\bin", [EnvironmentVariableTarget]::User)
③ 開いているターミナルに設定を即時反映する
環境変数を永続追加した場合、通常はターミナルを再起動する必要がありますが、以下のコマンドを実行することで開き直さずに即座に反映させることができます。
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
設定が完了したら、以下のコマンドで動作確認を行います。
go version
go version go1.26.4 windows/amd64 のようにバージョン情報が表示されれば成功です。
🚀 ドキュメントツール「godoc」のセットアップと使い方
Go 1.12以降、ドキュメント閲覧用ツールである godoc は標準のGo配布物から分離されました。そのため、手動でインストールする必要があります。
① インストール方法
ターミナルで以下のコマンドを実行し、最新の godoc をインストールします。
go install golang.org/x/tools/cmd/godoc@latest
※インストールされた実行ファイルは C:\Users\user\go\bin\godoc.exe に保存されます。
② 使い方(go doc と godoc の違い)
Goにはドキュメントを参照する方法が2通りあります。用途に合わせて使い分けましょう。
A. コマンドラインで素早く確認したい場合(go doc)
ターミナル上でテキストとしてドキュメントを表示します。標準機能なので追加インストールは不要です。
go doc fmt
go doc fmt Println
B. ブラウザのGUIでリッチに閲覧したい場合(godoc)
ローカルWebサーバーを起動し、公式ドキュメント(pkg.go.dev)と同様のUIでドキュメントを参照できます。
godoc -http=localhost:6060
実行後、Webブラウザで http://localhost:6060 にアクセスすると、ローカル環境や標準パッケージのドキュメントをブラウズできます。
🛠️ 最初のプログラム(Hello World)を実行する
環境構築が完了したら、実際にGoのプログラムを動かしてみましょう。
① ソースファイルの作成
適当なディレクトリに lesson.go という名前でファイルを作成し、以下のコードを記述します。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
注意点:Goでは、実行可能なプログラムを作成する際、必ずパッケージ名を
mainにし、エントリーポイントとなるfunc main()関数を定義する必要があります。package mainだけの空ファイルを実行しようとすると、以下のエラーが発生します。runtime.main_main·f: function main is undeclared in the main package
② プログラムの実行
ソースファイルがあるディレクトリで、以下のコマンドを実行します。
go run lesson.go
ターミナルに以下のように出力されれば、無事にGoの実行環境の構築が完了です!
Hello, World!
🎯 Go言語の基礎から応用まで学べるおすすめ教材
Goの環境構築が完了し、最初の Hello World を実行した後は、本格的なプログラムの開発に進みましょう。
基礎的な文法から、実際のWeb開発や高度な金融アプリケーション開発まで体系的に学べるおすすめのUdemy講座をご紹介します。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
Goの基礎文法を網羅した入門パートから、後半では実際にビットコインの自動取引を行うFintechアプリケーションの構築を行う、非常に実践的で評価の高いベストセラー講座です。シリコンバレーの現役エンジニアによる本質的な解説で、現場で通用するGoの書き方が身につきます。
📝 まとめ:つまずいた時のチェックリスト
WindowsでGoの環境構築につまずいた際は、以下の3点を確認しましょう。
C:\Program Files\Go\binとC:\Users\user\go\binがPathに入っているか- 環境変数を追加した後に、ターミナルを再起動するか環境変数を再読み込みしたか
- 実行するGoファイルに
mainパッケージとmain()関数が定義されているか
快適なGo開発ライフをスタートさせてください!