Goを学びはじめるのに参考になるサイト

少し高度な自動化／テストツールの開発や、簡単にRESTサーバの開発に利用できないか、と思って、Goを少し学び始めました。
Goを学び始めるときに、自分なりに役に立ったサイトをまとめておきます。

#公式サイト／日本語訳サイト

1. [The Go Programming Language](https://golang.org/)
 * Goの本家サイト。Go自体のダウンロードなどはこちらから。
1. [golang-jp](http://golang-jp.org/)
 * 公式サイトの日本語訳のサイト。
1. [プログラミング言語 Go ドキュメント](http://go.shibu.jp/index.html)
 * 公式サイトのドキュメント(https://golang.org/doc/) の日本語訳。[golang-jp](http://golang-jp.org/) では翻訳されていないものを参照するときに便利。

#リファレンス

1. [Effective Go](https://golang.org/doc/effective_go.html)
 * GoらしいプログラミングをするためのTips集。
 * 日本語訳は、[こちら](http://go.shibu.jp/effective_go.html)を参照すると良い。
1. [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
 * Goで書かれたコードをレビューする際のガイドライン。"not a style guide" とあるけど、コーディング規約としても必要な内容が書かれている。

#環境構築

##Goのインストール／環境変数定義

1. [インストール - golang-jp](http://golang-jp.org/doc/install)
2. [go言語の始め方(1)](http://python.matrix.jp/2013/05/09/go_start1.html)
3. [WindowsでGolang開発環境構築　IntelliJ IDEA](http://qiita.com/ngsm3/items/67620fc4e39219235a23)

##IDE
クロスプラットフォームで開発できることを前提とすると、IntelliJ、Eclipse、LiteIDEあたりが候補になると思います。
(普段、Atomとかのテキストエディタを利用している人は、そちらを使っても良いと思います)

###IntelliJ IDEA + golang plugin
最初、IntelliJで開発環境を構築しようと思っていましたが、プラグインのインストール時は注意。IntelliJ 14 だと、"Preferences->plugins" でインストールしたものでは正常に動作せず、さらに、[go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases) のサイトから最新版（2015/03/20時点で 1.0.0.alpha）を取得すれば良いのかなと思ったら、0.9.16-alpha.9 にしないと動作しませんでした。他のバージョンでは Go SDK の指定ができなくて、ビルドができなかった...

1. [Go の開発環境は IntelliJ IDEA + golang plugin がマトモだった](http://qiita.com/kaiinui/items/433eb86c022ffcad0bea)
2. [MacにIntelliJ IDEAでGolangの開発環境を構築する](http://qiita.com/adarah_g/items/85d12583386dc19f6c4e)

ただ、実際に開発をしてみて、現在のところは IntelliJでは、Goのデバッグをするのが手間であり、あまり良くないかも、と私自身は感じています。スクリプト毎にビルドの設定をする必要があるようで、それが面倒ですね。ということで、今のところは、Eclipseでgoclipseを使っています。

###Eclipse + GoClipse

1. [goclipse](https://code.google.com/p/goclipse/)
 * 2015/03/20時点では、Eclipse Marketplaceで配布されているバージョンが古いようなので、以下のUpdateSiteから、最新版をインストール。
 * http://goclipse.github.io/releases/
2. [goclipseでGo言語をIDEでコーディング出来るようにしてみる](http://d.hatena.ne.jp/bose999/20141231/1419972570)

###LiteIDE
軽量なGo専用のIDE。最初からデバッグもできるようになっているので（他のIDEだと、GDBなどを手動でインストールする必要がある。LiteIDEでも多少は設定などが必要だけど、他よりもハマりにくい）、普段利用しているIDEにこだわらないなら、LiteIDEは良いと思います。

1. [LiteIDE](https://github.com/visualfc/liteide)
2. [MacでGo言語(golang)のLiteIDE導入](http://msitter29.hatenablog.com/entry/2014/02/20/155212)
3. [WindowsでGo言語(golang)のLiteIDE導入](http://msitter29.hatenablog.com/entry/2014/02/21/184803)

#チュートリアル

1. [A Tour of Go](http://go-tour-jp.appspot.com/#1)
 * Step by Step 的に学べる、公式サイトの学習ページ。
 * 基本的な内容を網羅できる。画面上でGoスクリプトを書いて、実行できるのも良い。
2. [Go by Example](https://gobyexample.com/)
 * Goを利用した実装例が豊富に示されている。各サンプルのページで、ソースコードの右上の Go Gopher のアイコンからページを辿ると、こちらでも、Goスクリプトをその場で変更して、実行することが可能になる。
 * GitHubのページは以下。  
   https://github.com/mmcgrana/gobyexample
3. [golang.jpのチュートリアル](http://golang.jp/go_tutorial)
 * 基本的な文法などが分かる。

#その他の参考

##Goでのテスト

1. [testing - The Go Programming Language](http://golang.org/pkg/testing/)
 * testing パッケージの説明。
2. [Goでテストを書く - 成らぬは人の為さぬなりけり](http://straitwalk.hatenablog.com/entry/2014/09/18/232810)
 * Goでのテストのやり方を、一通り説明してくれており、分かりやすいです。

##Tips

1. [Go言語で幸せになれる10のテクニック](http://qiita.com/ksato9700/items/6228d4eb6d5b282f82f6)
2. [動的言語だけやってた僕が、38日間Go言語を書いて学んだこと](http://qiita.com/suin/items/22662f43b6a6e8728798#1-2)

##Advent Calendar
1. [Go Advent Calendar 2014](http://qiita.com/advent-calendar/2014/go)
2. [Go Advent Calendar 2013](http://qiita.com/advent-calendar/2013/go)