go get の実験
参考URL: http://golang.org/cmd/go/
Go1 になってからツールが追加されてたらしいのでちょっと実験してみた.
なんかライブラリを github から直接取得して使用できるようにできるらしい.
ためしに "Hello, World!" と表示するコマンドラインツールのリポジトリを作ってみた.
リポジトリURL: https://github.com/nise-nabe/helloworld
下記コマンドを実行すると環境変数で $GOPATH に入ってるディレクトリにインストールされて, $GOBIN に入ってるディレクトリに実行バイナリが入るらしい.
$ go get github.com/nise-nabe/helloworld $ helloworld Hello, World!
へぇ.
とりあえずプログラミングコンテストでいつも使ってる入出力用ライブラリでもやってみた.
リポジトリURL: https://github.com/nise-nabe/fastio
$ go get github.com/nise-nabe/fastio
下記のようなコードを書いてみる.
main.go
package main import ( "github.com/nise-nabe/fastio" "os" ) func main() { s := fastio.NewInOut(os.Stdin, os.Stdout) s.Println("Hello, World!") s.Flush() }
実行してみる.
$ go run main.go
ん?何も出力されない?ああ入力待ってるのか. Ctrl+D を入力して無事に "Hello, World!" が出力された.まあプロコンで使うなら入力いつもあるし入力が終了するまで処理が進まないのはそういう仕様ということにしておく.
ライブラリをアップデートする場合は
$ go get -u github.com/nise-nabe/fastio
とかあるとアップデートされるらしい.
あと go1 とかいう ブランチかタグを切っておくとそのGoのバージョンで保守が可能になるらしい.
アンインストールどうすんのかと思ったけど
$ go clean -i github.com/nise-nabe/helloworld
ぐらいしか見当たらなかった.$GOPATH/src/ 以下のやつは消えないんだろうか.まあいいや.
実験終わり.