第1回議事録
Yoshiki Shibata edited this page Nov 13, 2016
·
1 revision
- 日時 2016/11/12 13:00-17:00
- 場所 横浜ブルーアベニュー 12F 会議室2
- 書籍 『プログラミング言語Go』(丸善出版)
- 開始 p.0 本の開始
- 終了 p.17 1.4 GIFアニメーション
- 議事録 浜野(柴田)
加藤 高橋 ヤン 神保 相田 今井 谷澤 太田 浜野 柴田 吉川 長友 井上 磯辺
- 13:00-13:15 自己紹介
- 13:15-17:00 輪読
- 各人の簡単な自己紹介
- 「日本語版によせて」を読んだ後に「訳者あとがき」を読み、それ以降は前から順に輪読
go1.5以降をビルドするためにはgo1.4以降のGoが必要になる。
$ git clone -b release-branch.go1.4 https://go.googlesource.com/go $HOME/go1.4
$ cd $HOME/go1.4/src
$ ./make.bash
./make.bash 90.07s user 13.48s system 150% cpu 1:08.73 total
$ git clone https://go.googlesource.com/go $HOME/go
$ cd $HOME/go/src
$ ./make.bash
./make.bash 174.08s user 14.89s system 165% cpu 1:54.47 total
ソースコードからすべてのをビルドして、テストを実行(src/all.bash)してもMacBook 12で10分以下。
$ export GOPATH=$HOME/workspace/go
$ go get gopl.io/ch1/helloworld
実際にはこの過程で、以下のことを実行している。
- metaタグを読んでgit clone
view-source:http://www.gopl.io/
<meta name="go-import" content="gopl.io git https://github.com/adonovan/gopl.io"></meta>
$ cd $GOPATH/src/gopl.io
$ git remote -v
origin https://github.com/adonovan/gopl.io (fetch)
origin https://github.com/adonovan/gopl.io (push)
- gopl.io/ch1/helloworldにmain.goがあればビルド
GitHubにも同じリポジトリがある。
特にない。 というのも、Javaのように特定の開発環境が良いわけでないため。 基本的にCUIのコマンドが用意されている関係上、 様々なエディタでpluginが開発されている。 ちなみに柴田さんはvimを使用しており、 テキスト整形・import自動挿入などpluginで解決している。
gofmt(フォーマットの固定), goimports(import宣言の挿入と削除)を使う。
$ go get golang.org/x/tools/cmd/goimports
- スライスと別に配列も存在するが、あまり使わない 配列は要素数も含めて型になるため使いづらいため
- main関数が終わるとプログラムが終了する ゴルーチンが動作していても強制終了するため注意
- TestXXX(t *testing.T)の関数は単体テスト群 $ go test -bench=.
- BenchmarkXXX(b *testing.B)の関数はベンチマーク群 $ go test -bench=.
- ExampleXXXの関数は標準出力の結果のテスト、またgodocにExampleを表示したい場合に使用
- CUIのちょっとしたプログラムをgoで書くと、バイナリ配布のみでLinux/Windowsで動作可能 柴田さん作成のプログラム(github.com/YoshikiShibata/oak)(1000行程度)で3.5MB
- 『プログラミング言語Go』を翻訳することになった経緯の簡単な説明があった。