Go言語 基礎講座 #0 環境構築
早速少し話がそれますが、自分はGo言語のJetBrains製IDEであるGolandを使っていてGoの新規プロジェクトの作成などを勝手にしてくれるのでおすすめです。学生の方でしたら無料で使えるライセンスがあるのでぜひ確認してみてください↓
目次
インストール
前提環境
- Mac OS
- Homebrewがインストール済
インストール
$ brew install go
これでインストール完了です。
$ go version go version go1.13.6 darwin/amd64
バージョン確認をして、ちゃんとインストールされたことを確かめましょう。
GOPATHの設定
export GOPATH=/Users/YOUR_USER_NAME/go export PATH=$GOPATH/bin:$PATH
.bash_profileに↑を追加。GOPATHはインストールするGo関連の外部ライブラリなどが入る場所です。Goのインストール後はこの設定をしなければいけません。
$ source ~/.bash_profile
.bash_profileをアクティベートして設定を適用します。 今回があくまで例として~/goをGOPATHとして設定しましたが、他の場所でも構いません。 どこに設定すべきかこの記事で解説されています↓
以上でインストール作業は完了です!
新規プロジェクトの作成
$ mkdir PROJECT_NAME // ~/go/src以下で $ cd PROJECT_NAME $ go mod init github.com/GITHUB_USER_NAME/PROJECT_NAME go: creating new go.mod: module github.com/GITHUB_USER_NAME/PROJECT_NAME
これで新規プロジェクトが~/go/src以下に作成されました。go mod initコマンドを行わないとGo Moduleプロジェクトと認識されなくなります。
Depのインストール
DepはGoのパッケージ依存関係管理ツールです。
$ go get -u github.com/golang/dep/cmd/dep
これでインストールは完了。
$ dep init
これでDepを初期化し、このプロジェクトで利用できる状態にします。
Depのメリット
Depのメリットは外部パッケージのインストールの手間が省けると言うことです。
Depがないと上のようにいちいちgo get ~~とコマンドを打ち込まないといけませんが、Depだと...
imoprt( "github.com/gin-gonic/gin" "github.com/jinzhu/gorm" )
このようにコード内にこのパッケージを使いますよーと言う記述だけで、あとは以下のコマンドを実行すれば全てのパッケージを一括インストールしてくれます。
$ dep ensure
ディレクトリ構成
Goはパッケージ(ディレクトリ)レベルで名前空間を構成しています。そしてプロジェクトルート(~/go/src/PROJECT_NAME)はmainパッケージといい、mainパッケージ内のmain.goから他のパッケージを参照するなどしてプログラム全体を実行します。
なので基本はgo run(Goの実行コマンド)はmain.goに対してのみ行います。
PROJECT_NAME/ | ---main.go | ---learngo/ | | | ---learn.go --
例えば、この基礎講座のためにlearngo/と言うパッケージを作り、その中にlearn.goと言うファイルを作ってください。この中にこれから学ぶGoのプログラムを書き込んで行きます。(関数など)
package main import ( learngo "PROJECT_NAME/learngo" ) func main() { learngo.SOME_FUNCTION() }
main.goこのように書きます。Goファイルでは必ず一番上でpackageを明示してください。次にパッケージをインストールします(今回はlearngo)。そしてmain関数を作成します。main.goを実行するとこのmain関数が実行されます。
今後この講座で紹介する内容はlearn.go内の適当な名前の関数内に実装し、main.goから呼び出して実行してください。
// learn.go func SOME_FUNCTION(){ <講座で紹介する内容> }
以上でGoでプログラミングをする準備が整いました。次回からGoの文法などを説明していきます。