プログラミング環境構築【Go言語編】
プログラミング言語毎に環境構築方法を書き残しておこうと思う。
まずは最近環境構築したGo言語(Golang)について書きたい。
この記事の内容
- Go言語のコンパイル環境を導入し、Hello Worldを実行
- vim-goを導入し、vimでの開発環境を構築
Goのインストール
昔はC言語やJavaなど環境構築を苦労しながらやっていた覚えがあるが、最近のプログラミング言語の環境構築は本当に簡単になったものだなぁ、と感じる。
Go言語も本当に簡単に環境構築を行うことができた。
以下のURLにアクセスし、使っているOSに対応したインストーラをダウンロードする。
私はUbuntu18.04LTSを使っているので、Linux版 (執筆時:go1.13.5.linux-amd64.tar.gz)をダウンロードした。
Linux版の場合はその後ダウンロード先にて以下のコマンドを実行する。
tar -C /usr/local -xzf go1.13.5.linux-amd64.tar.gz
Windows版はmsiファイルを起動してインストールすればOKかと。
macOS版もおそらく同じだと思うが、macOSは使ったことがないので正直よくわからない。
その後、パスを通しておく。
.bashrcなどに以下の記述を加える。
export PATH=$PATH:/usr/local/go/bin
インストールが完了したら以下のコマンドを実行して動作を確認する。
go version
> go version go1.13.5 linux/amd64
以上のようにバージョンが表示されればインストールは完了。
次に、Go言語でのHello Worldを実行してみる。
以下のファイルを作成し、hello.goと名前をつける。
package main
import "fmt"
func main() {
fmt.Printf("Hello world from Go!")
}
ファイルを作成し、保存したら以下のコマンドで実行。
go run hello.go
> Hello World from Go!
このように表示されればコンパイル+実行はOK。
GOPATHの設定
Go言語にはWeb上のリポジトリからソースコードをダウンロードし、それをビルドする便利なコマンドが存在する。
このgo getコマンドなどを使用したときにソースコードや実行ファイルを保存するディレクトリを設定する必要がある。
このディレクトリは環境変数の$GOPATHとして設定する。
~/.profileや~/.bashrcに以下の記述を加える。
export GOPATH="$HOME/work" //好きなフォルダを設定
export PATH="$GOPATH/bin:$PATH"
GOPATH以下のbinフォルダには実行ファイルが保存されるので、あらかじめPATHを通しておくと便利。
ℹ️ Info: Go 1.13からGOPATHを指定しなくても良いとの情報もある。
そのあたりはイマイチわかっていないので、詳しい方に教えていただきたいw
vim-goのインストール
少し前まではコードを書くときにVisual Studio Codeを使っていたのだが、最近はvimを使うことが多くなってきた。
まだまだ使い慣れてはいないが、コマンドライン環境からのアクセスがしやすいのは大きなメリットであると感じる。
そのため、Go言語の開発環境をvimにも整えたい。
今回はvim-goというプラグインを導入する。
導入には以下のコマンドを実行する。
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
その後、vimを起動し、以下のコマンドを実行して各種バイナリファイルをインストールする。
:GoInstallBinaries
インストールが完了したら一度vimを終了し、以下のコマンドで新規Goファイルを作成する。
vim test.go
作成すると、デフォルトで以下の記述が生成される。
package main
import "fmt"
func main() {
fmt.Println("vim-go")
}
それでは、vim上で実行してみる。
以下のコマンドをvim上で実行。
:GoRun
vim-goと表示されればOK。
これでvimによるGo言語開発環境が整った。
他にも色々な機能があるようだが、まだ把握していないものが多いので、便利だと思ったものは後日追記したい。
ℹ️ Info: 2020/5/20追記
その後、メインのエディターとしてNeoVimを使うようになり、現在はGoのコードを書くときはALE+Coc.vim+GoImportsの構成に落ち着いた。
そのうち、この環境についても記事を書きたい。
まとめ
これでGo言語の開発環境を構築することができた。
この言語は私もまだ勉強を始めたばかりなので、躓いたことなどはどんどん書き残していきたい。
