Mac で Go をサクッとはじめるための手引書

Go のインストール

1
2
3
4
5
6
7
8
$ mkdir $HOME/.go

# Add this line to ~/.zshrc
export GOPATH=$HOME/.go
export PATH=$PATH:$GOPATH/bin

# Install
brew install go

Go Package のインストール

1
2
3
4
5
$ go get github.com/rogpeppe/godef               # 関数定義等の参照パッケージ
$ go get -u github.com/nsf/gocode                # 補完パッケージ
$ go get -v github.com/uudashr/gopkgs/cmd/gopkgs # Go パッケージ
$ go get github.com/golang/lint/golint           # flycheckでシンタックスエラーを検知
$ go get github.com/kisielk/errcheck             # flycheckでシンタックスエラーを検知

Emacs Go Package のインストール

Emacs のパッケージ管理は Cask を使っているものとする

以下を Caskfile に追加して cask install する

1
2
3
4
5
(depends-on "flymake-go")
(depends-on "go-mode")
(depends-on "company-go")
(depends-on "go-eldoc")
(depends-on "go-autocomplete")

Elisp の設定

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
;;
;;================================================================
;; Go
;;================================================================
(when (and (locate-library "exec-path-from-shell") (locate-library "go-mode"))
  (require 'exec-path-from-shell)
  (let ((envs '("PATH" "GOPATH")))
    (exec-path-from-shell-copy-envs envs))
  (require 'go-autocomplete)
  (add-hook 'go-mode-hook
            (lambda ()
              (setq indent-tabs-mode t)
              (go-eldoc-setup)
              (setq gofmt-command "goimports")
              (add-hook 'before-save-hook 'gofmt-before-save)
              ))
  )

参考サイト