概要 †
- 言語機能や文法などの要素を極限まで削ったコンパクトなプログラミング言語
- 改良されたC
- 厳密に定義された多数の基本型
- パッケージによる名前空間の導入
- ガベージコレクタによるメモリ管理
- コンパイル言語
- コンパイル速度が速い ... コードの修正→テスト実行のサイクルを快適に回すことに貢献
- マルチプラットフォームで動作
- OSへの非依存
- OSの標準的なライブラリに依存しない実行ファイルを生成
- OSが提供する共有ライブラリを使わない代わりに、自前で相当する機能をすべて保持する必要があるため、実行ファイルサイズは大きくなる
- ガーベジコレクタ機能を備える
- 並行処理に強い
環境構築 †
オンライン †
Windows †
Chrome OS †
基本設定 †
GOPATHの設定 †
export GOPATH=$(go env GOPATH)
export PATH=$GOPATH/bin:$PATH
ツール †
gore, gocode, pp †
$ go get github.com/motemen/gore/cmd/gore
$ go get github.com/mdempsky/gocode
$ go get github.com/k0kubun/pp
ghq †
goimports †
$ go get golang.org/x/tools/cmd/goimports
golint †
$ go get golang.org/x/lint/golint
フレームワーク †
Revel †