概要
新しくGo言語を始める時、どのような環境で書き始めるかいくつか選択肢があると思いますが、私はIntelliJが好きなのでIntelliJを使います。
Goは静的型付けでIDEとの相性が良く、IntelliJはオススメです。
難点はIDEの設定が必要になるところです。一度わかれば簡単ですが、はじめは苦労するかもしれません。
私の場合、自分が作成した別のファイル(パッケージ?)をインポートしようとした時にエラーが出てしまい、解決に苦労しました。
これから始める人が苦労しないように(そして私が解決方法を忘れないように)、ここに書き残します。
環境
- macOS High Sierra
- IntelliJ IDEA 2018.2.4(Ultimate)
- go 1.11
手順
IntelliJインストール
Webからダウンロードしインストールします。詳細は割愛します。
Go言語インストール
Homebrewはインストール済みとします。
$ brew install go
IntelliJ設定
Goプラグインのインストール
下記のパスから見つけてください。
Preferences -> Plugings -> Install JetBrains plugin -> Go
設定
下記のパスから見つけてください。その配下にある、GOROOTとGOPATHを確認していきます。
Preferences -> Languages & Frameworks -> Go
GOROOT
初めから設定されているはずです。
私の場合は「Go 1.11(/usr/local/Cellar/go/1.11/libexec)」となっていました。このままでOKです。
GOPATH
重要: これを設定しないと、自分のプロジェクトのコードのインポートが失敗します。自分のプロジェクトがライブラリの探索パスに含まれない、といったほうが分かりやすいかもしれません。標準ライブラリは読み込めるけど、自分が書いたコードがインポートできない状態になります。
正しい設定かどうかは不明ですが、私はこれで動いた、というやり方を説明します。
まず、「Global GOPATH」を削除します。そして、「Project GOPATH」に自分のプロジェクト(IntelliJのプロジェクト)のパスを設定します。
ex. /Users/your_name/IdeaProjects/your_project_name
まだプロジェクトを作成していない場合は、先に作成してからでもいいでしょう。
このやり方で正しく動作しますが(もう少しだけ手順が続きますが)、一つ問題があります。複数のプロジェクトを扱う場合に、毎回この「Project GOPATH」を書き換える必要がある点です。
いろいろネット上の情報を調べましたが、解決方法が見当たりませんでした。
プロジェクト構成
your_project/
- src/
- package1/
- foo.go
- package2/
- bar.go
"src"を忘れずに作成しましょう。"your_project"はIntelliJのプロジェクト名です。"src", "package1", "package2"は、IntelliJのUIから「New -> Package」で作成します。
foo.goにはpackage package1
、bar.goにはpackage package2
をコードに記述します。(ディレクトリ名に合わせます)
これで、例えばfoo.goからimport package2
が成功し、bar.goの関数などが呼び出せるはずです。
備考
GOPATHとGOROOTが正しく設定されているか確認する
IntelliJのUIからTerminalのタブを開きます。そこでgo env
を実行するとGOPATH、GOROOTを含む情報が表示されます。
Terminalは、私の場合は画面下部のRun, TODOのならびにありましたが、表示されていない人は、IntelliJの初期設定の際に無効にしたせいかもしれません。
「Preferences -> Plugins」から"Terminal"を探して、インストールされていなかったらインストールしましょう。
以上です。