Go のプロジェクトのディレクトリ構成などについて
プロジェクト構成
プロジェクトディレクトリをgo_work
とする。
go_work ├── bin -> go install 時にバイナリが格納される ├── pkg -> 依存パッケージのオブジェクトファイル格納場所 └── src -> ソースコード格納場所
上記3つのディレクトリがあることが前提。
環境変数$GOPATH
にプロジェクトディレクトリを指定することで、依存パッケージの解決が自動的に行われる。
% cd go_work % export GOPATH=`pwd`
パッケージについて
Go のパッケージは、Ruby で言うところの gem にあたる。
パッケージは自分で作ったり、Git などでリポジトリが公開されていれば、それをgo get
コマンドでコピーして利用できる。
パッケージの作成
gosample というパッケージを作成するときのディレクトリ構成。
https://github.com/tokoyax/gosample にリポジトリを作成して公開する場合。
あらかじめ、github でリポジトリを作成しておくこと。
go_work ├── bin ├── pkg └── src ├── github.com │ └── tokoyax │ └── gosample │ └── gosample.go
gosample.go がソースコード。
go_work/src/github.com/tokoyax/gosample
で、git リポジトリを作成して、github に push する。
% cd $GOPATH/src/github.com/tokoyax/gosample % git init % git add . % git commit -m "commit message" % git remote add origin https://github.com/tokoyax/gosample.git % git push -u origin master
以上で、パッケージの公開は完了。
パッケージの利用
go get
コマンドで取得できる。
依存するライブラリも取得してきて、ビルドもしてくれる。
% go get github.com/mattn/go-haiku
完了後
go_work ├── bin ├── pkg │ └── darwin_amd64 │ ├── github.com │ │ ├── ikawaha │ │ │ └── kagome │ │ ├── mattn │ │ │ └── go-haiku.a │ └── gosample.a └── src ├── github.com │ ├── ikawaha │ │ └── kagome <- 依存ライブラリ │ ├── mattn │ │ └── go-haiku <- go get で取得したライブラリ │ │ ├── README.md │ │ ├── cmd │ │ │ └── haiku │ │ │ └── main.go │ │ └── haiku.go
- 作者: 古川昇
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2015/07/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
- 作者: 茨木隆彰
- 出版社/メーカー: 工学社
- 発売日: 2010/11
- メディア: 単行本
- クリック: 44回
- この商品を含むブログ (7件) を見る