Calmery.me

みっかぼうずにならないようがんばる

Go言語のインストール

「Go 言語による Web アプリケーション開発」を購入した.これから Go 言語を使うための環境を整える.
www.oreilly.co.jp

The Go Programming Language からインストーラを入手,インストールする.バイナリからのインストールは インストール - The Go Programming Language などを見て適当に.

Go の設定

GOPATH 環境変数を設定する.Go 言語が使用するパッケージなどを置くための場所らしい.

export GOPATH=$HOME/go

試してみる

サンプルを入手して動かしてみる.もしコマンドがないと言われたらパスを確認する.
go get でパッケージを入手できる.サンプルの hello に移動して go run で動かす.

$ go get github.com/golang/example
$ cd go/src/github.com/golang/example/hello
$ go run hello.go
$ go build
$ ./hello

以下の記事を参考,また購入した本の「付録 A 安定した開発環境のためのベストプラクティス」を参考に Sublime Text 3 で開発が容易に行えるようにした.

付録 A のまとめ

付録 A の内容を少しまとめておく.

- 整形

まず,記述したソースコードの整形.汚いコードを綺麗に整えてくれる(ありがたい)
公開するときはちゃんと整形した方が良さそう.

$ go fmt
hello.go
- 調査

コードを調査して間違いを教えてくれる.

func main() {
	return
	...
}
$ go vet
hello.go:26: unreachable code
exit status 1
- 修正

import の間違い,不足を修正してくれる.自分で入れる必要がある.

$ go get golang.org/x/tools/cmd/goimports

bin フォルダに配置される.自分の環境ではパスが通っていなかった.

package main

import (
	"github.com/golang/example/stringutil"
)

func main(){
	fmt.Println("Hello World!")
}
$ go run helloworld.go
# command-line-arguments
./a.go:4: undefined: fmt in fmt.Println
$ goimports a.go
package main

import "fmt"

func main() {
	fmt.Println("a")
}

修正された.

- Sublime Text 3

付録 A では Sublime Text 3 で GoSublime を使うことを勧めている.

まず Sublime Text 3 に Package Control を入れる必要がある.
Sublime Text 3 用のコマンドをコピーし View の Show Console でコンソールを開きペースト,実行する.次に「Shift + Command + p」で Package Control: Install Package と入力し GoSublime を探して入れる.

その後 GoSublime の設定ファイルを開く.開き方がよくわからなかったけど Package Control: List Packages で GoSublime を開けばよかった.
GoSublime.sublime-settings に以下を追加する.

"on_save": [
	{
		"cmd": "gs9o_open",
		"args": {
			"run": ["sh", "go build . errors && go test -i && go test && go vet && golint"],
			"focus_view": false
		}
	}
],

goimports を使って自動で修正を入れたいのであれば以下も追加する.

"fmt_cmd": ["goimports"],

これで保存するときクリーンアップ,ビルド,テストを行うようになるみたい.便利だ.

参考

参考にしました.ありがとうございます.
Go言語のインストール - golang.jp
qiita.com