Go言語の開発環境構築(Mac + SublimeText3)


はじめに

自分がやった方法をメモしておく。環境は以下。

  • macOS High Sierra version 10.13.3
  • homebrew:1.5.4

Goのインストール

homebrewから素直に落とす。以上。

brew install go

初期設定

Goの作業場所として$GOPATHを設定する必要がある。
公式の標準としては$HOME/goらしいが、別にどこでもいい。

ただ、途中で変えるのはあまり良くないらしいので気をつける。

自分は標準で構わないのでPATHの設定をする。
bashを使ってる人は下記を~/.bash_profileに追記。

export GOPATH=${HOME}/go
export PATH=$GOPATH/bin:$PATH

ターミナルを再起動する。

作業ディレクトリの作成

Goのルールに従って標準のディレクトリを作成する。

mkdir $GOPATH
cd $GOPATH
mkdir src pkg bin

構造はこんな感じになる。

go
├── bin
├── pkg
└── src

それぞれのディレクトリの役割として、

  • bin:実行ファイルを置く
  • pkg:パッケージを置く
  • src:ソースファイルを置く

となっている。

とりあえず書いてみる

ひとまず動くか確認。src配下にhello.goを作成し、下記のコードを書く。

package main

import "fmt"

func main() {
    fmt.Printf("Hello, world.\n")
}

実行して動くか確認。Goの実行はrunコマンドで行う。

cd $GOPATH/src
go run hello.go

Hello, world.が表示されたらおっけー。
このファイルはもういらないので消しておく。

Sublime用プラグインの導入

下記記事の通りにやってみる。
Sublime Text(Atom)で快適なgolangの開発環境

依存パッケージをgo getでインストールする。
このコマンドはどこで実行しても良い。

go get golang.org/x/tools/cmd/goimports
go get github.com/golang/lint/golint

これらは$GOPATH/src配下に展開される。

次にSublime TextのPackage ControlでGoSublimeをインストールする。
インストール後、Package Settings -> GoSublime -> Segttings-Userを開き、下記の設定をコピペで貼り付ける。

{
  "fmt_cmd": ["goimports"],
  "comp_lint_enabled": false,
  "on_save": [
    {
      "cmd": "gs9o_open",
      "args": {
        "run": ["sh", "go build . errors && go vet && golint"],
        "focus_view": false
      }
    }]
}

コードを書いて保存するとエラーチェックとフォーマットが走る。
補完も一応効いてるっぽい。

開発の流れ

公式にGo言語における様々なルールが書いてあるので、ここを参考に。
How to Write Go Code

基本的に自分の開発ディレクトリはsrc配下にgithubのURLで作る。
例えばこんな感じ↓

mkdir -p $GOPATH/src/github.com/[githubのユーザ名]

なので、helloというプロジェクトで開発したいなーと思ったら、

mkdir -p $GOPATH/src/github.com/[githubのユーザ名]/hello

みたいな感じでディレクトリを切って開発していけばよい。
自分のGoディレクトリに移動するのがダルいので、以下のようにエイリアスを貼ると良いかも。

alias gogo="cd $GOPATH/src/github.com/[githubのユーザ名]"

Goのルールに従うと便利になる的な話が公式に書いてあるが、疲れたので次回。

おわりに

続きをそのうち書くかもしれない。