Skip to content

第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 輪読

自己紹介

  • 各人の簡単な自己紹介

輪読

  • 「日本語版によせて」を読んだ後に「訳者あとがき」を読み、それ以降は前から順に輪読

go

go環境をソースコードからビルド

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分以下。

gopl.io公開リポジトリからダウンロード

$ export GOPATH=$HOME/workspace/go
$ go get gopl.io/ch1/helloworld

実際にはこの過程で、以下のことを実行している。

  1. 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)
  1. gopl.io/ch1/helloworldにmain.goがあればビルド

go開発者が作成した標準外ライブラリ群

http://golang.org/x

GitHubにも同じリポジトリがある。

goの開発環境おすすめは?

特にない。 というのも、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』を翻訳することになった経緯の簡単な説明があった。