Upgrade to Pro — share decks privately, control downloads, hide ads and more …

私なりのGo言語のご紹介

Ryuji Iwata
December 23, 2014

 私なりのGo言語のご紹介

The introduction of the Go programming language in my own way.

Ryuji Iwata

December 23, 2014
Tweet

More Decks by Ryuji Iwata

Other Decks in Programming

Transcript

  1. 私のご紹介 package self import “introduction” const ( Name = “Ryuji

    IWATA” Twitter = “@qt_luigi” Comment = “Go言語は今夏から始めました!” )
  2. マルチ マルチプラットフォーム  ・主要OS(各BSD, Linux, OS X, Windows)に対応。  ・同一ソースで主要OSに対応しクロスコンパイルも   可能のため網羅性の高いプロダクトにかなり有利。 マルチプロセッサー

     ・言語レベルで並列処理に対応(Goroutine&Channel)  ・CPU性能向上がクロック数の増大からプロセッサー   数の増大にシフトしている今の流れに完全にマッチ。
  3. 何が出来るの? コマンドラインツール(CLI)  ・実例)Docker, Packer, Cloud Foundly, Juju, Heroku    パッケージ:flag Google

    App Engine(1.5から) Experimental!  ・スピンアップや処理が速いので課金コスト削減    パッケージ:net/http  ・1.8.6から単体テストをサポート    パッケージ:appengine/aetest コマンド:goapp
  4. 何が出来るの? どちらかと言えば「サーバーサイド」が得意  ・Google社のインフラ系の問題をソフトウェアの面   から解決するには?からプロジェクトがスタート。    Google DL サーバ, YouTube(分散), pixiv(一部)

    など GUIパッケージは標準では用意されていない  ・各GUI Toolkitを扱うパッケージが公開されている。    GTK+ go-gtk - https://github.com/mattn/go-gtk    Qt go-ui - https://github.com/visualfc/go-ui など
  5. hello.go (CLI) package main import “fmt” func main() { fmt.Println(“Hello,

    世界!”) } mainは特殊! 文末の”;”は不要! 公開メソッドは大文字 で始まります!
  6. hello.go (GAE/G&HTTPサーバー) package hello import ( "fmt" "net/http" ) func

    init() { http.HandleFunc("/", handler) } func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, 世界!") } 1.package名をhelloからmainに変更 2.関数名のinit()をmain()に書き換え 3.main()関数の最後に以下の一行を追記 http.ListenAndServe(“:8080”, nil) これで、HTTPサーバーに早変わり!
  7. インターネットから(英語) 公式サイト  The Go Programming Language - http://golang.org/  全ての情報はココにあります! チュートリアル

     A Tour of Go - http://tour.golang.org/#1  文法まわりを一通り学べます。日本語ページもあります。 遊び場  Go Playground - http://play.golang.org/  ネット上でお気軽コーディング。作成したコードを共有できます。 みんなで 始めよう!
  8. 書籍から 基礎からわかるGo言語  ・入門に最適な1冊で、Go 1.0.3に対応しています。 プログラミング言語Goフレーズブック [絶版]  ・基礎や文法を習得した後に読むと理解が深まります。 Go言語プログラミング入門 on Google

    App Engine [絶版]  ・GAE/Gならこの1冊です。内容が古い   ので最新バージョンで動作するよう書   き換えることでGo力を鍛えましょう! 絶版だけど、 まだ見つかる!
  9. 勉強会から 東京 Go研 - http://connpass.com/series/353/ 月1回のペースで開催。 ハッシュタグ:#goken[会数] 大阪 大阪Go勉強会 - https://www.facebook.com/osakagolang

    数ヶ月に1回のペースで開催。 ハッシュタグ:#阪Go 岡山 Golang Cafe - ttyokoyama on Zusaar 週1回ペース(毎週日曜日)で開催。 ハッシュタグ:#gdgchugoku 春と秋にGoコン(Go Conference)があったね。 来年4月はGopher Conだね。カリフ ォルニアだけど。
  10. インターネットで 英語  ・ハッシュタグ:#golang  ・Google Groups - golang-nuts 日本語  ・ハッシュタグ:#golangjp #golang

     ・Google+ - Golang JP  ・Lingr - Go言語 検索キーワード を「Golang」に するとヒット率 が上がるよ!