golang

golangの最新版インストール(備忘録)

golangをインストールした際の備忘録です。
ubuntu14.04でやりましたが、きっと他のバージョンも同じはず。

macとwindowsはやり方違うみたいですね。
今回は扱いません。

本記事の内容は以下の公式ドキュメントをそのまま進めただけです。
これ見て大丈夫な人はこの先読まなくて大丈夫です。

https://golang.org/doc/install

対象は1.9.2ということで。

最新goのダウンロード

以下より最新のgolangを確認します。
https://golang.org/dl/

インストールしたいバージョンをダウンロード。

$ wget https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz

チェックサムの値も確認しておきましょう。

$ shasum -a 256 go1.9.2.linux-amd64.tar.gz

go言語の解凍とディレクトリへの配置

ダウンロードしてきた圧縮ファイルを解凍します。
今回の解凍先は/usr/local/とします。

$ tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz

解凍先をPATHに追加するため、~/.profileに以下の内容を追記

~/.profile
export PATH=$PATH:/usr/local/go/bin

ちなみに、このgo言語の動作ディレクトリが、GOROOTです。

ワークスペースの作成

go言語でいろいろやったりするワークスペースを作成します。
$HOME/go/配下にするのが通例みたいですね。

$ mkdir ~/go

ちなみに、このワークスペースがGOPATHです。
ホームディレクトリ配下以外にもワークスペースを掘ることはできますが、
その場合はちゃんとその場所にGOPATHを通しましょう。
デフォルトだとこんな感じになっているはずです。

$ go env GOPATH
~/go

このワークスペース、少しだけ説明しますと、golangを次のように管理するためにあります。

  • src goソースコード類を配置
  • pkg goプログラミングに使用するパッケージ類を配置
  • bin goの実行ファイルを配置

例えば、go installっていうコマンドがあって、
このコマンドは \$GOPATH/src配下のソースコードをコンパイルして\$GOPATH/bin配下に保存するという動作をします。
そして、$GOPATH/binを環境変数に加えておけば、
コンパイルしたgoアプリをそのまま実行可能になります。

こういった仕組みが用意されていますので、
インストールの段階からGo用のワーキングスペースを掘ることは大切なことなのです。

インストール結果確認

先ほど作成したワークスペース下にsrcフォルダを掘りましょう。

こんな感じのサンプルコードを書いてhello.goというファイル名で、srcディレクトリ配下に保存しましょう。

hello.go
package main

import "fmt"

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

これをコンパイルします。

$ cd $GOPATH/src/hello
$ go build

実行してハローワールドが表示されたらインストール完了です。

$ ./hello 
hello, world

最後に

go言語ってこんな簡単に動いたんや〜っていうのは正直な感想です(勝手にもう少しインストールは複雑な印象を抱いていました)。
ワークスペースに関しては公式ドキュメントを読んで勉強になりました。

また何かあったら記事にします。
それでは。