第1回 大阪Go勉強会に参加してきた

http://www.zusaar.com/event/1010007
2013/09/17 19:00 〜 21:00
グランフロント大阪 北館 7F ナレッジサロン

Go言語のよいとこ

  • 読みやすく書きやすい構文

 ⇒gofmtでフォーマットの統一をさせることもできる!

  • 外部ライブラリの管理が楽

 ⇒標準パッケージ数141個(多い!
  githubからライブラリをgo get で読込める
   go get https://github.com/USER/LIB
   import "github.com/USER/LIB"

  • 言語レベルでサポートされた並列処理

 ⇒goroutin(計量スレッド
  channel(メッセージキュー
  select(複数channelからの受信を待つ

// goroutin, channel例
c := make(chan bool)
go func(){
    time.Sleep(5 * time.Second)
    fmt.Println("動き出す!")
    c <- true
}()

fmt.Println("停止!")
// cにメッセージがくるまでブロック
<-c

 ⇒Goはコンパイル速度に影響のある機能は言語仕様に取り込まないポリシーがある

ハンズオン

ハンズオン課題
https://github.com/todoa2c/hango/blob/master/vol01.md

  • FizzBuzz
  • ワードカウント
  • 指定日がその年の何日目かを計算するプログラム
  • HTTPでJSONデータの取得
  • 上記コードの発展・複数ISBNコードを指定して総ページ数・総額を計算するプログラム

3つ目のテストコードを書こうとしたところであえなくタイムアップ!
この課題面白いので、週末にがんばろう。