LoginSignup
76
66

More than 5 years have passed since last update.

Goのimport文で悩まない方法

Last updated at Posted at 2014-09-16

Golang は使われていないものまで import しているとコンパイル時にエラーになります。

この仕様自体はとてもいいと思うのですが,ちょっとしたファイルを試行錯誤している時にどこかの行をコメントアウトする度に import 文も書き換えないとコンパイルできないというようなことが発生してイライラする事があります。

せっかくの静的型付け言語ですのでこの辺りを自動でいい感じにしてくれると嬉しいです。

そんなあなたに goimports がおすすめです

Emacs などのエディタで保存時に gofmt をかけて自動整形させる設定は誰でもしていることと思いますが,goimportsgofmt と全く同じ用に使えてかつ import 周りを自動でいい感じにしてくれるという優れものです。

インストールは go get でサクッと

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

Emacs を使っている場合は go-mode を読み込んでから以下のように gofmt の代わりに goimports を使うようにすればいいです。

init.el
(setq gofmt-command "goimports")
(add-hook 'before-save-hook 'gofmt-before-save)

注意点としては GUI の Emacs を使っている場合は環境変数の PATH と GOPATH をシェルから引き継がないといけません。

GOPATHの中にプロジェクトが増えるとドンドン遅くなっていきます。そんな時はGoのソースコードが存在しないディレクトリを $GOPATH/src/.goimportsignore に書いて無視するようにします。自動的に作成することもできます。

go get github.com/pwaller/goimports-update-ignore
goimports-update-ignore -max-depth 1
76
66
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
76
66