Goの環境構築

環境

  • Homebrew 0.9.5 (git revision 47494; last commit 2015-11-16)
  • MacOSX10.11
  • Go 1.5.1


Goのインストール

Goのインストールを行う。

% brew install go


PATHの設定

環境設定ファイルへgoバイナリーファイルへのパス export PATH=$PATH:/usr/local/opt/go/libexec/bin を書き込む。 また ( 任意の場所で構わないが ) 、GOPATH export GOPATH=$HOME/.go export PATH=$GOPATH/bin:$PATH を設定しなければならないため、そちらも書き込み source ~/.zshrc 読み込みを行う。

GOPATHを指定することで、 go get コマンドが使えるようにする。GOPATHは標準インストールのGoの外でビルド・インストールする際に設定する必要がある。

# Go
export PATH=$PATH:/usr/local/opt/go/libexec/bin
# GoPATH
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH


Go Mobileのインストール

% go get golang.org/x/mobile/cmd/gomobile


Gomobileの確認

以下を実行しGomobileツールがインストールされていることとパスが通っていることを確認。

% gomobile -h

Gomobile is a tool for building and running mobile apps written in Go.

To install:

    $ go get golang.org/x/mobile/cmd/gomobile
    $ gomobile init

At least Go 1.5 is required.
For detailed instructions, see https://golang.org/wiki/Mobile.
Usage:

    gomobile command [arguments]

Commands:

    bind        build a library for Android and iOS
    build       compile android APK and iOS app
    init        install android compiler toolchain
    install     compile android APK and install on device
    version     print version

Use 'gomobile help [command]' for more information about that command.


Gomobile init を行う

Go mobileを利用するためのツールを一括でインストールしてくれる。

% gomobile init -v


NDKのルートを通す

export NDK_ROOT=$HOME/.go/pkg/gomobile/android-ndk-r10e


サンプルアプリを動かす

% cd $GOPATH/src/golang.org/x/mobile/example/basic/

% go run main.go

f:id:hrt0kmt:20151201211941p:plain


Atomとの連携

% go get golang.org/x/tools/cmd/goimports
% go get github.com/nsf/gocode
% go get github.com/rogpeppe/godef
% apm install autocomplete-plus
% apm install go-plus
% apm install godef


参考サイト

http://qiita.com/yuku_t/items/c7ab1b1519825cc2c06f
http://qiita.com/megu_ma/items/7208be8de52b712955a0
http://klabgames.tech.blog.jp.klab.com/archives/1034818110.html
http://qiita.com/ttyokoyama/items/07729cfb03ef053ef669
https://godoc.org/code.google.com/p/rog-go/exp/cmd/godef
http://golang-jp.org/doc/code.html