インストール
Homebrew 更新
$ brew update $ brew info go
インストール & バージョン確認
$ brew install go $ go version go version go1.8 darwin/amd64
ワークスペースの作成
Go では任意のディレクトリをワークスペースとして指定し、ワークスペースの中で全ての開発を行います。
通常はホームに go
といったディレクトリを作成しワークスペースとして指定します。
bash_profile か bashrc に GOPATH
環境変数を設定します。
$ mkdir ~/go $ echo export GOPATH='$HOME/go' >> ~/.bash_profile $ source ~/.bash_profile
GitHub などで公開されているライブラリを go get
コマンドで取得すると、自動的にワークスペースにダウンロードしてビルドしてくれます。
このライブラリはそのまま自身のプログラムから利用することができます。
GitHub や Bitbucket などを RubyGem や Maven のようなリポジトリとして使えるといった感じです。
ワークスペースは以下のディレクトリで構成されます。
ディレクトリ | 説明 |
---|---|
src | Goのソース |
pkg | ビルドにより作成されるバイナリ |
bin | ビルド(インストール)により作成される実行形式ファイル |
src 内には GitHub から取得したものは github.com/user/foo
のように GitHub のリポジトリのURLと同じ階層で格納します。
Hello World
$GOPATH/src
以下にソースを作成します。
GitHub でソース管理することを視野に以下の配置でソースを作成します(便宜的に user というアカウントとします)。
$ mkdir -p $GOPATH/src/github.com/user/hello $ cd $GOPATH $ touch hello.go
簡単な Hello World を作成しましょう。
package main import "fmt" func main() { fmt.Printf("Hello, World.\n") }
main パッケージのmain関数がエントリポイントになります。
実行は go run
で行います。
$ go run hello.go Hello, World.
Go のツールは $GOPATH
が起点になります。
go install
コマンドで作成したアプリケーションをインストールしましょう。
$ cd $GOPATH $ go install github.com/user/hello
install すると、$GOPATH/bin
が作成され、その中に実行ファイル hello が出来上がります。
実行してみましょう。
$ ./bin/hello Hello, World.
Go が作成する実行ファイルは一般的な実行ファイルよりサイズが大きくなります。ここで作成した hello も1.6M ほどになりました。
Go が OS に依存する共有ライブラリを利用せず、自前で実装しているためです。これにより実行ファイルのポータビリティを確保しているのです。
ライブラリの作成
greet パッケージを作成します。
$ cd $GOPATH $ mkdir -p src/github.com/user/greet $ touch src/github.com/user/greet/greet.go
Greet 関数を定義します。
package greet func Greet(s string) string { return "Hello " + s }
Go では外部に公開する関数は先頭を大文字にします。
install しましょう。
$ go install github.com/user/greet
pkg ディレクトリが作成され、greet.a が作成されます。
hello.go を以下のように修正します。
package main import ( "fmt" "github.com/user/greet" ) func main() { fmt.Println(greet.Greet("Go")) }
install して実行してみます。
$ go install github.com/user/hello $ ./bin/hello Hello Go
JetBrains Gogland
コード補完やジャンプ、デバッグなどやっぱりIDEが便利。
現在は Early Access Program 版として公開されています。
Create New Project を選択。
$GOPATH
の設定が自動で設定されます。
まずは、Preferences... から Theme をDarcula に変えましょう。
ついでにタブサイズが 8 になっているので 4 に変えます。
こんな感じです。
main パッケージの main メソッドは、メソッドの横に出る緑の矢印で go run
して実行できます。
次回は、