masquerade0324のブログ

とある大学院生のメモ書き

Go言語学習記①〜開発環境の整備〜

2016年も終わろうとしている時に、かなり久しぶりの更新。

Go言語を学んでみようと突然思いったため、まずは開発環境を整備する。

前提条件は以下の通りである。

Go言語のインストール

アーカイブを公式サイトからダウンロードして、解凍する。すると、goというディレクトリできているため、これを/usr/localに移動する。以下の設定では、今後バージョンで切り替えられるようにするために、シンボリックリンクを張っている。

$ tar -xzf go1.7.4.linux-amd64.tar.gz
$ sudo mv go /usr/local/go1.7.4
$ sudo ln -s /usr/loca/go1.7.4 /usr/local/go

これだけでGoのインストールは終わりのため、あとは.profileを編集して、環境変数PATHに/usr/local/go/binを加える。

PAHT="$PATH:/usr/local/go/bin"
export PATH

さらに、Go開発のワークスペースのために環境変数GOPATHを設定する。

GOPATH="$HOME/go"
export GOPATH

Go言語のインストールは以上。

Emacs環境の構築

次に、開発環境を構築する。

Emacsが使いたいので、Emacsのパッケージマネージャで、以下の項目を入れる。

  • go-mode
  • go-autocomplete
  • go-eldoc
  • go-direx

あとは、~/.emacs.d/init.elにちょっとだけ記述を追加する。

(require 'go-autocomplete)
(add-hook 'go-mode-hook 'go-eldoc-setup)

Emacs環境構築もこれだけ。

動作確認

お約束の、「こんにちは、世界」のプログラムをGo言語で書いてみる。

f:id:masquerade0324:20161218173634j:plain

シンタックスハイライトもしているし、補完もしているし、問題なく動作しているように見える。

package main

import (
    "fmt"
)

func main() {
    fmt.Println("こんにちは、世界")
}

こんなコードを書いて、あとはコンパイルして動作させてみる。

$ go build -o hello hello.go
$ ./hello
こんにちは、世界

意図した通りの出力が得られており、今回も世界と挨拶ができた。めでたしめでたし。

まとめ

Go言語の環境構築は思った以上に簡単だった。言語学習の障壁の最たるものが環境構築だと思っているので、その点でGo言語は良い。

おまけ

クリスマスバージョンの球磨ちゃんめっちゃかわいい。