Slide 1

Slide 1 text

Go一緒にいかが? GDG中国 - 第24回勉強会@岡山 2014.5.10

Slide 2

Slide 2 text

Who am I? package self import “introduction” const ( Name = “Ryuji IWATA”, Twitter = “@qt_luigi”, Occupation = “Software Developer”)

Slide 3

Slide 3 text

おしながき ・Go言語とは? ・Goのセットアップ ・Goツールの紹介 ・Goの標準的な開発の流れ ・Goの文法の実例と解説

Slide 4

Slide 4 text

Go言語とは?

Slide 5

Slide 5 text

Go言語とは?(詳しくはWebへ!) ・コンパイル方式のプログラミング言語 ・2009年11月にオープンソースプロジェクト ・BSD, Linux, Mac OS X, Windows に対応 ・Google App Engine (Experimental) にも対応 ・シンプルと速さ ・ガーベジコレクション ・クラスなし ・同時実行処理を実装しやすい

Slide 6

Slide 6 text

Goのセットアップ

Slide 7

Slide 7 text

ダウンロード 公式バイナリー http://code.google.com/p/go/wiki/Downloads 対応OS(Go 1.2.2 の場合) Linux 2.6.23 以降 (CentOS/RHEL 5.x 除く) Mac OS X 10.6 以降、FreeBSD 7 以降、 Windows 2000 以降 (2000 は Go 1.2 系まで) System requirements - http://golang.org/doc/install#requirements

Slide 8

Slide 8 text

インストール 標準のインストール先(= GOROOT) Windows:c:¥Go PC-UNIX:/usr/local/go ツール用にPATHを通す(= GOROOT/bin) Windows:c:¥Go¥bin PC-UNIX:/usr/local/go/bin Install the Go tools - http://golang.org/doc/install#install tar -C /usr/local -xzf go1.2.2.linux-amd64.tar.gz

Slide 9

Slide 9 text

動作確認ファイル作成 テキストエディターにて「hello.go」ファイルをUTF-8 (BOMなし)で作成。 package main import “fmt” func main() { fmt.Printf(“hello, world¥n”) }

Slide 10

Slide 10 text

セットアップ確認 「go run ファイル名」を実行して動作を確認。 ↑Goのプログラムをコンパイルして実行。 $ go run hello.go hello, world

Slide 11

Slide 11 text

Goツールの紹介

Slide 12

Slide 12 text

go または go help goツールの機能や使い方を表示。 ~$ go Go is a tool for managing Go source code. ... The commands are: build compile packages and dependencies clean remove object files env print Go environment information fix run go tool fix on packages ...

Slide 13

Slide 13 text

go env Goの環境情報を表示。 ~$ go env GOARCH="amd64" ... GOOS="darwin" GOPATH="/Users/ユーザー名/gocode" ... GOROOT="/usr/local/go" ...

Slide 14

Slide 14 text

go version Goのバージョンを表示。 詳細は「Goの標準的な開発の流れ」にて。 ~$ go version go version go1.2.2 darwin/amd64

Slide 15

Slide 15 text

go fmt ソースのフォーマットを整形。 ~$ vim pi.go package pi const(Pi=3.14) ~$ go fmt pi.go pi.go ~$ cat pi.go package pi const ( pi = 3.14 )

Slide 16

Slide 16 text

go get パッケージをダウンロードしてインストール。 GOPATHの設定が必要なので、実行する場 合は「Goの標準的な開発の流れ」の後で。 ~$ go get github.com/golang/lint ~$ ls $GOPATH/src/github.com/golang/lint LICENSE golint lint_test.go testdata README lint.go misc ~$ ls $GOPATH/pkg/darwin_amd64/github.com/golang/ lint.a

Slide 17

Slide 17 text

・Bitbucket (Git, Mercurial) ・GitHub (Git) ・Google Code Project Hosting (Git, Mercurial, Subversion) ・Launchpad (Bazaar) Remote import paths - http://golang.org/cmd/go/#hdr-Remote_import_paths リモートリポジトリー

Slide 18

Slide 18 text

その他のGoツール go build, go install, go test 「Goの標準的な開発の流れ」内で紹介。 go clean, go fix, go list, go tool, go vet 当方の理解不足や使用頻度から、今回は 割愛させて頂きましたm(__)m ちなみにgo cleanは実行するディレクトリーに よって削除対象のファイルが異なりますq@w@p

Slide 19

Slide 19 text

Goの標準的な開発の流れ

Slide 20

Slide 20 text

目的と内容 「Writing, building, installing, and testing Go code」を進めて、Goの標準的な開発の流れを学び ましょう! 使用する資料へのリンク https://docs.google. com/document/d/1bh2GpXg4i81DrungtvoF6vowOeiaiQ MVbL0zhnvRgJA/pub

Slide 21

Slide 21 text

Goの文法の実例と解説

Slide 22

Slide 22 text

目的と内容 「Learn X in Y minutes」を進めて、Goの文法や実 例を学びましょう! 使用する資料へのリンク https://docs.google. com/document/d/1Y6xy40urFNf4lwFaOaXbwX8N-oA- SQiRE7YAfBTC2sM/pub

Slide 23

Slide 23 text

Happy Hacking!