Golang Cafe #0(準備編)
2013/10/27に開催された「Golang Cafe #1」に参加しました。
Go言語については数年前のGoogle先生の宿題以来ほとんど触っていなかったので、
#1の纏めに先立って環境準備について纏めておこうと思います。
ゴール
- Go言語ツールのインストール
- GAE/Gのインストール
環境
Windows7 SP1 64bit
Go言語ツールのインストール
ダウンロードとインストール
こちらからMSIインストーラ版またはzip圧縮版をダウンロードします。
32bit版、64bit版と用意されているので今回はgo1.1.2.windows-amd64.zipを使います。
MSIインストーラ版は実行するだけで環境変数の設定まで行ってくれます。
ダウンロードしたzipを適当な場所に解凍します。今回インストール先はc:\Goとします。
動作確認
以下のプログラムをhello.goという名前で作成します。
package main import "fmt" func main() { fmt.Printf("Hello, world!\n") }
goツールで実行し、以下のように出力されればOKです。
$ go run hello.go Hello, world!
Google App Engine SDK for Goのインストール
Pythonのインストール
Google App Engine SDK for GoではPythonが必要になります。
Windows環境ではデフォルトでPythonはインストールされていないので、こちらから2.7系をダウンロードしてインストールします。(※レフトナビのQuick Linksは32bit版なので注意が必要です)
Pythonも環境変数PATHへの追加が必要なのでインストールしたディレクトリC:\Python27を追加します。
App Engine SDKのインストール
こちらからApp Engine SDKをダウンロードします。
32bit版、64bit版と用意されているので今回はgo_appengine_sdk_windows_amd64-1.8.6.1.zipをダウンロードします。
ダウンロードしたzipを適当な場所に解凍します。今回インストール先はc:\go_appengineとします。
動作確認
myappディレクトリを作成し、その直下にhelloディレクトリを作成します。
helloディレクトリの直下に以下のプログラムをhello.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!") }
また、myappディレクトリ直下に以下の内容でapp.yamlファイルを作成します。
application: helloworld version: 1 runtime: go api_version: go1 handlers: - url: /.* script: _go_app
ディレクトリ構成は以下のようになっているはずです。
myapp/ app.yaml hello/ hello.go
以下のコマンドで開発サーバーを起動し、http://localhost:8080/にブラウザ等でアクセスします。
$ dev_appserver.py myapp/
Hello, world!とレスポンスがあればOKです。
以上でGolang Cafeへ向けての準備は完了です。