GoClipseでHello World !

gopher Other
go gophers by Renee French CC BY 3.0 | Illust - https://github.com/egonelbre/gophers

Web界隈などでちょっと注目を浴びつつあるらしいGo言語。さらなる躍進を遂げるのかそうでないのかはわかりませんが、興味を惹かれたので手を出してみることにしました。

IDEとしてEclipseが使えると知りさっそく導入。思ったより手間取りましたが、無事に環境構築できました。

というわけでGo言語のIDEとしてEclipseを使う方法をまとめました。

検証環境

  • OS:Windows 10 Home 64bit
  • Goのバージョン: 1.10.3
  • Eclipseのバージョン: 4.7.3(Pleiades All in One – Platform)

本稿はWindows環境での検証ですが、パスを読み替えればLinux等でも同じように動くと思います。

Goのインストール

Windows向けにはインストーラーがあるのでそれを使用。インストーラーは環境変数のGOROOTとGOPATHも設定してくれます。

今回はCドライブ直下(C:\Go)にインストールしました。

ツールを追加

自動補完などを有効にするためのツールをインストールします。PowerShellなどで以下を実行。

> go get -u github.com/nsf/gocode
// gocodeはWindowsでは次のように
// > go get -u -ldflags -H=windowsgui github.com/nsf/gocode
> go get -u github.com/rogpeppe/godef
> go get -u golang.org/x/tools/cmd/guru

GOPATHの先頭で指定されたディレクトリにインストールされます。

EclipseをGo仕様にする

Eclipseは「Pleiades All in One」のPlatformでOKです。

GoClipseではGOPATHをプロジェクトのごとに指定できるので、Eclipse自体のワークスペースはどこでも構いません(多分)。

GoClipseを追加

[ヘルプ]→[新規ソフトウェアのインストール]からGoClipse(http://goclipse.github.io/releases/)を追加します。

goclipse install

GoClipseの設定

[設定]から[Go]→[ツール]を開き、Goのインストールディレクトリにあるgofmtと、先にインストールしたgocode, guru, godefを指定します。

goclipse setting 1

続いて[Go]の「Goインストール:ディレクトリー」にGoをインストールしたディレクトリを指定します。

goclipse setting 2

プロジェクトを作成

[ファイル]→[新規]→[プロジェクト]から新規プロジェクトを作成します。

Goの開発ワークスペースはGOPATHのディレクトリとするのが流儀ですが、Hello Worldを表示するだけならどこでもかまいません。

EclipseのデフォルトワークスペースをGOPATHと同じディレクトリにしている時

新規プロジェクト作成時に「デフォルトロケーションを使用」のチェックを外して、ディレクトリを直接指定する必要があります。チェックが入ったままだと、GOPATHディレクトリの直下に新しいプロジェクトディレクトリが作成されてしまいます。

Eclipseの仕様上、同一のディレクトリをロケーションとする複数のプロジェクトは作成できないので、EclipseのデフォルトワークスペースをGOPATHと一致させることには意味がないかもしれません。

ソースコードを作成

プロジェクトを作成すると、自動で bin, pkg, src の3つがディレクトリとして作成されます。ソースコードは src ディレクトリ内に配置します。

サブディレクトリを作成

src直下にgoファイルを作成するとコンパイル時に怒られてしまうので、src内にサブディレクトリを作成します。

サブディレクトリの名前や構造はリポジトリ名に基づいたものにするべきですが、今回はお試しなのでsrc直下にプロジェクト名と同じ名前のディレクトリを作成します。

goファイルを作成

作成したサブディレクトリ内にGoファイルを作成します。名前は何でもかまいませんが、今回は分かりやすくmain.goとします。

main.goをエントリーポイントとするのでpackageはmainとして、main関数を記述します。

go code

ビルド

[プロジェクト]→[プロパティ]の「実行/デバッグ設定」で新規の起動構成を追加します。

「ビルドするGoパッケージ」項目の選択ボタンを押し、先に作成したサブディレクトリの名前(helloworld)を選択します。

さらに「実行可能な起動ファイルのパス」が「プロジェクト名+bin+サブディレクトリ名.exe」になっていることを確認します(なっていないなら変更)。

go build setting

[プロジェクト]→[プロジェクトのビルド]でビルドが実行され、binディレクトリに実行バイナリが作成されます。

Eclipseで実行/デバッグ

デバッグを行うにはGDB(GNUデバッガ)が必要です(実行だけなら不要)。

[実行]→[実行構成](または[デバッグ構成])の「Goアプリケーション」から、先に作成した起動構成を選び「実行(またはデバッグ)」します。

※[実行構成]が表示されない時は[ウィンドウ]→[パースペクティブ]→[パースペクティブのカスタマイズ]から表示できます。

go run

GDBが動かない?

WindowsではGDBの調達がちょっと悩みどころです。

MSYS2のpacmanでもインストールできますが、私がこのGDBを試した時には、ブレークポイントを指定するとデバッグが動作しませんでした。

GDBはこちらあたりからも入手できますが、これも私の環境では駄目。

LiteIDEに付属するgdb64.exeを使うと良いとの情報があったので、試してみたところ正常にデバッグができました。

まとめ

GoClipseに若干バグっぽい挙動があったり、GDBの問題などあったりしますが、とりあえず動いてくれています。

Go言語自体については静的型付けの言語にしてはさらっと書けるような印象を受けました。機会があれば積極的に使ってみたいです。

コメント