2
5

More than 5 years have passed since last update.

Windows上でGo言語初心者向け学習環境を作る

Last updated at Posted at 2017-01-17

この記事は何か

Windows上でRuby初心者向け学習環境を作る - NaCl非公式ブログ :

を参考にした、ローカルにコピーするだけでOKなGo学習環境の作り方です。

注意点

本記事で作成する環境ではクロスコンパイルは行えません。クロスコンパイルもできる環境が欲しい人は、次のページの手順などを参考にMinGWの導入から行ってください。

Windows7 64bit版でGo言語のクロスコンパイルを試す - taknb2nchのメモ

[2017/1/18追記]
Go 1.5よりmake.batなど実行せずともクロスコンパイル可能になったようでした。

WindowsCrossCompiling · golang/go Wiki · GitHub

したがって、以下のようにGOOSGOARCH環境変数を設定することで、普通にクロスコンパイルできました。また動作確認も取れました。

Windows(32bit)
set GOOS=windows
set GOARCH=386
go build -o hello-windows-386.exe hello.go
Linux(64bit)
set GOOS=linux
set GOARCH=amd64
go build -o hello-linux-amd64 hello.go

TL;DR;

  • Downloads - The Go Programming Languageからgo<バージョン番号>.windows-(386|amd64).zipをダウンロード
  • 開発環境ルートフォルダー(例:C:\go_env)を作成し、ダウンロードしたGoのzipファイルを展開
  • 開発環境ルートフォルダーの下にソースフォルダー(例:C:\go_env\src)を作成
  • 必要な環境変数(GOROOTGOPATHPATHなど)を設定してcmd.exeを起動するstart.batを作成

作り方

1. Goのダウンロード

何はともあれ、まずはGoのダウンロードから始めます。公式サイトのダウンロードページDownloads - The Go Programming Languageを開き、使用しているWindowsのCPUアーキテクチャに合わせてgo<バージョン番号>.windows-(386|amd64).zipファイルをダウンロードします(例:バージョン1.7.4、64bitならgo1.7.4.windows-amd64.zip)。

なお、WindowsにはWOW64(Windows on Windows 64)という仕組みがあるため、64bit環境でも32bit版のGoは(変なことをしなければ)大体動作すると思います。もし非プログラマなクライアントに配布してファイル変換してもらう、といったような用途を想定しているのであれば、とりあえず32bit版を導入するというのもありだと思います。

2. ルートフォルダーの作成

次に丸ごとコピーするための元となるルートフォルダーを作成します。これはどこでもよいですが、ここではC:\go_envとしておきます。

3. Goの展開

1.でダウンロードしたzipファイルを、ルートフォルダーに展開します。展開後のフォルダー構成は次のようになります。

C:\go_env
  |
  +-go <-展開したフォルダー
    |
    +-api
    |
    +-bin
    |
    :

4. ソースフォルダーの作成

今度はGoのソースファイルを格納するためのフォルダーsrcをルートフォルダー内に作成します。ソースファイルの*.goファイルは、srcフォルダーの下に作成するようにしてください。

C:\go_env
  |
  +-go
  |
  +-src <-作成したソースフォルダー

5. 起動用batファイル作成

最後に、Goの実行に必要な環境変数を設定してcmd.exeを起動するstart.batファイルをルートフォルダー内に作成します。

C:\go_env
  |
  +-go
  |
  +-src
  |
  +-start.bat <-作成したbatファイル
start.bat
@echo off

@rem GoのフォルダーをGOROOTに指定
set GOROOT=%~dp0go
@rem Goのパッケージを配置するフォルダーをGOPATHに指定
set GOPATH=%~dp0.go

@rem Goの実行ファイルをPATHに追加
set PATH=%GOROOT%\bin;%GOPATH%\bin;%PATH%

@rem ソースフォルダーに移動
cd %~dp0src

@rem cmd.exeを起動する
%COMSPEC%

batファイル内に登場する%~dp0は実行したbatファイルを配置したフォルダーパスを表します。例えば、GOROOTに指定した%~dp0goは結果としてC:\go_env\goを表すことになります。

なお、go getコマンドによってインストールされるGoパッケージの配置先は、GOPATH環境変数への設定値の通りC:\go_env\.goになります。.goフォルダーは自動的に作成されるので明示的に作成する必要はありません。

GOROOTGOPATH環境変数設定後、それぞれのbinフォルダーをPATH環境変数に追加しておきます。こうすることで、Go本体及びgocode等の周辺ツールが起動できるようになります。

参考までにソースファイルを作成し、go getを実行した後のフォルダー構成は次のようになります。

C:\go_env
  |
  +-.go
  | |
  | +-pkg
  | | |
  | | +-windows_amd64
  | |   |
  | |   +-github.com
  | |     |
  | |     +-...
  | +-src
  |   |
  |   +-windows_amd64
  |     |
  |     +-github.com
  |       |
  |       +-...
  |
  +-go <-展開したフォルダー
  | |
  | +-api
  | |
  | +-bin
  |  |
  |  :
  |
  +-src
    |
    +-hello.go 

使い方

ルートフォルダーのstart.batをダブルクリックして実行すると、cmd.exeの黒い画面が起動します。あとは、srcフォルダー内にソースファイルを作成して、go rungo buildgo getコマンドを実行するだけです。

なお、go tool tourコマンドを実行してA Tour of Goをローカル起動することもできます。

配布

ルートフォルダーごと各PCにコピーしてやればOKです。start.batの内容も相対パスで指定しているため、アクセス権さえあればどこに配置しても大丈夫です(私は%UserProfile%\go_envに配置しています)。

おまけ

Goの学習に使うエディターを好みのもの(例えばVim)にするなら、start.batにてPATHに追加すれば、後は黒い画面でgvim hello.goのように起動できます。

start.batのPATH設定箇所抜粋
@rem Goの実行ファイルをPATHに追加
set PATH=%GOROOT%\bin;%PATH%
@rem エディタのパスをPATHに追加
set PATH=path\to\vim;%PATH%

また、Visual Studio Codeをインストーラーを使って既定の設定でインストールしていれば、すでにPATH環境変数に追加されているはずなので、code hello.goのように起動できます。

2
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5