動作環境
go version1.8
前提
とりあえずこっから手動でインストール
yumでいれる場合は下記のコマンド
$ sudo yum install -y golang
バージョン確認
$ go version
Hello Go World!
GOPATHの設定
1.
さて、Go初学者にとって最初の壁はGOPATHといっても過言ではないでしょう。
ここは作業ディレクトリに作る、と考えていいと思います。
追記2017/04/02
コメントでGOPATHについてのわかりやすい説明があったので、こちらに追記します。
@tenntenn さんありがとうございます。
GOPATH はインポートパスを解決するために、使われる環境変数ですね。
標準パッケージ以外は、importの後ろに書いたインポートパスから実際のコードを探すために使います。
たとえば、import "hoge/fuga" と書くと、GOPATH以下の$GOPATH/src/hoge/fuga以下を見に行くようになります。また、go getというコマンドを使うと指定したインポートパスからライブラリなどをダウンロードしてインストールしてくれます。
その際に、インストールする先もGOPATH以下になります。
なお、GOPATHは複数指定できますので、複数指定してあったら、先頭のパスにインストールされます。
go installはダウンロードせずに、インストールだけをするコマンドなので、同様にGOPATH以下にインストールされます。
main関数があるものであれば、$GOPATH/bin以下にインストールされます。
そして、goファイルをbuildしたときのexeファイルをPATH=~として設定しますが、基本的には、$GOPATHの直下に/binフォルダを作り、そこを指定します。
これらの設定を.bash_profileに書き込みます。
$ vi ~/.bash_profile
export GOPATH=/user/go
export PATH=$PATH:$GOPATH/bin
書き込んだら
$ source ~/.bash_profile
で設定を読み込みます。
2.ディレクトリの作成
作ったGOPATHの直下にテンプレートのディレクトリを作成します。
$ cd $GOPATH
$ mkdir src pkg bin
3.githubディレクトリの作成
そして、importするさいにgithubを使う?ので、githubをその下のディレクトリに作成します。
追記2017/04/02
こちらも謎が解決したので引用します。
@tenntenn さんありがとうございます。
GoではGitHubを使うわけではなく、多くのライブラリがGitHub上で公開されており、上記のようにインポートパスを解決するためgithub.comというディレクトリができるわけです。
$mkdir src/github.com
$mkdir src/github.com/"githubアカウント名"
4.プロジェクトフォルダの作成
やっとここの下にプロジェクトフォルダを作成できます。
まだファイルではないので、注意してください。
mkdir "githubアカウント名"/helloGo
5. goファイルを作ります。
$ vim helloGo/helloGo.go
package main
import "fmt"
func main(){
fmt.Printf("Hello,Go World")
}
ファイルが出来たら、下記コマンドでビルドします。
$ go install github.com/"githubアカウント名"/helloGo
エラーが出なかったら、これで実行ファイルができています。
生成場所は、1で書いたPATHの指定先です。
ここで書いてるとおりだと、$GOPATH/binにあるので、ここまで飛びます。
$ cd $GOPATH/bin
ここにhelloGoがあるので、実行してみましょう。
$ helloGo
Hello,Go World
お疲れ様でしたm(_ _)m
おまけ:gogland IDEの設定
最近intelijからでたgoglandというIDEが良いという噂で、無料で使えるので、これを導入しました。
ただ、最初の設定がよくわからずハマったので、その対応を書いていきます。(初心者向け)
GOPATHの設定
上で書いたところと同じパスを設定します。
メニューから、
Gogland-EAP->Preference->Go->GOPATH
※GOROOTは設定しなくてもいけるっぽい
作業ディレクトリの編集
デフォルトだと、ホームフォルダ直下にGoglandProjects
というフォルダが作られていて、そこにファイルが格納されるようになってるので、これを上と同じ設定にします。
Gogland-EAP->Preference->Go->ProjectStructure
ここの右側のPATHのリストで、+マークを押すと、新たなパスを追加できます。ここで、4.プロジェクトフォルダの作成と同じディレクトリを指定します。
以上です。これでうまくbuildできるはず。