Go言語の開発環境を作る - eclipse編 | gizagizamaxのブログ

Go言語の開発環境を作る - eclipse編

やりたかったこと
・Go言語 + (GAE/G)Google App Engine + eclipse でWebアプリ作成
・デバッグしてステップ実行
・eclipseから直接デプロイ(コマンドプロンプト無し)
・入力補完
・環境はWindows7 Pro 32bit

出来たこと
・Go言語 + eclipse でWebアプリ作成
・デバッグしてステップ実行 - クライアントアプリ
・eclipseから直接実行(Webアプリ&クライアントアプリ)

出来なかったこと
・デバッグしてステップ実行 - Webアプリ
・入力補完

よく分からないこと
・GAE/Gが使えるのかどうか

結局、できなかったことがあるが
一応手順をメモっときます。

1.Go言語をインストール
The Go Programming Language のサイトからGo言語をダウンロード。
ちょっと分かりにくいですが、
[Document]→[Getting Started]→[Download the Go distribution]
でダウンロードできるページへ行きます。

File name=go1.3.1.windows-386.msi
Kind=Installer
OS=Windows
Arch=32-bit
これをダウンロードしましたが、環境にあった物を落としてください。
KindがInstallerになっている物がオススメです。
色々と裏で設定をやってくれます。

何も気にせずそのままインストールすると
C:\Goにインストールされます。
それでOKです。

2.Google App Engine SDK fo Goをインストール
Download the Google App Engine SDKのサイトからSDKをダウンロード
今回あったのはこのファイル
go_appengine_sdk_windows_386-1.9.11.zip


ここへ解凍
C:\go_appengine
javaもそうだがeclipse関係は、パスが長いと動作しないことがあるので
なるべく浅い所に置いた方がよいみたい。

環境変数を追加
新規で変数を作る
変数名=GOROOT
変数値=C:\Go\



編集で末尾に追加する
変数名=Path
変数値=;C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin;C:\Go\bin;C:\go_appengine;C:\python27_x64


「C:\python27_x64 」この部分は違うかもしれないので、自分で探してください。
なかったら別途インストールでも良いと思います。
eclipseで実行するには不必要なきもするので、なかったらなかったでも良いかも。
<いらない/既に入っている>物もあるかもしれないので、気になるなら後で削る。

3.eclipseをインストール
eclipse日本語サイトからeclipseをダウンロード。
今回ダウンロードしたのはこのバージョン
pleiades-e4.4-platform-32bit-jre_20130625.zip
後でプラグインをインストールするので、バージョンを合わせること


解凍後してここへ移動
C:\pleiades

eclipse起動
C:\pleiades\eclipse\eclipse.exe

[ヘルプ]→[新規ソフトウェアのインストール]
作業対象にさきほどのGooglePlugin for EclipseのDirect plugin linkのURLを貼り付ける
Enterを押す(これ忘れがち)

開発ツールと
SDK
をインストール。
でもとりあえず全部インストールしといたほうが良い気がします。


完了後、eclipse再起動

[ウィンドウ]→[設定]
実行を開く
GOROOT=C:\Go
を設定すると、他の部分は勝手に埋まります

適応を押して、OKを押す

4.実行方法も記載するのでサンプルアプリを作ります。
[ファイル]→[新規]→[その他]
[実行]→[Go Project]を選んで次へ

プロジェクト名=gaegotest
で完了

プロジェクト・エクスプローラーにgaegotestができるので
開いてpkgを右クリック
[新規]→[フォルダー]

フォルダー名=hello
で完了

helloができるので、右クリック
[新規]→[Go FIle]
ソース・ファイル=main.go
ソース・ファイル・タイプ=Package Source File
で完了
ちなみにソース・ファイル・タイプ=Command Source File
だとクライアントアプリが作れます。

main.goをダブルクリックで開いて、ソースを書いて保存。
---main.go---
package hello

import (
    "fmt"
    "net/http"
)

func init() {
    http.HandleFunc("/", handler)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello, world!")
}
------
pkgを右クリックして
[新規]→[ファイル]
ファイル名=app.yaml
で完了

app.yamlをダブルクリックで開いて、ソースを書いて保存。
---app.yaml---
application: helloworld
version: 1
runtime: go
api_version: go1

handlers:
- url: /.*
  script: _go_app
------
最終的な画面はこんな感じ。(分かりやすいように画面を分割してます)


[実行]→[外部ツール]→[外部ツールの構成]
プログラムを選んで新規の起動構成をクリック
一番左にある白い四角にプラスが乗ってるアイコンです。

新規構成を選ぶ
ロケーション=C:\go_appengine\goapp.bat
作業ディレクトリー=C:\pleiades\workspace\gaegotest\pkg
引数=serve
で実行

ブラウザで
http://localhost:8080/
に飛んだらアプリが起動している。