Go言語入門
by
akane
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Go言語入門 2017 08 26
Slide 2
Slide 2 text
@akane_256 Women Who Go Tokyo 共同オーガナイザー 自己紹介
Slide 3
Slide 3 text
Women Who Go Tokyo 都内で、月に1回集まってGoを勉強しています
Slide 4
Slide 4 text
Today’s Goal Go言語の特徴をしる Go言語楽しそうな雰囲気を感じる
Slide 5
Slide 5 text
アジェンダ ● Go言語のなりたち ● 特徴 ● 導入事例 ● まとめ
Slide 6
Slide 6 text
\ Go言語なりたち /
Slide 7
Slide 7 text
Goプロジェクトは Googleのあるソフトウェアシステムに 対する不満から生まれた
Slide 8
Slide 8 text
システムの一部をより複雑にすることによって 問題点を直すと ゆっくり、確実に プログラムの複雑性は増していく
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
徹底的な簡潔性
Slide 11
Slide 11 text
Go言語誕生
Slide 12
Slide 12 text
・表現力がある ・コンパイルと実行の両方で効率的 ・信頼性が高い ・頑強なプログラムを書くのに効果的 Go言語と付属ツールの目標
Slide 13
Slide 13 text
\ Go言語の特徴 /
Slide 14
Slide 14 text
● シンプル ● 並行処理がかんたん ● 標準パッケージが豊富 ● 実行速度がはやい ● 標準の規約がある ● とりあえずたのしい
Slide 15
Slide 15 text
シンプル 他の言語が持つ多くの機能を削り、意図的に言語仕様をシンプルにしている ● classがない、継承がない ● 例外がない ● コンストラクタ、デストラクタがない ● メソッド内に「this」がない ● ポインタ演算がない ● 行末のセミコロンがない
Slide 16
Slide 16 text
平行処理がかんたん goroutine(ゴルーチン)と呼ばれる機能で並行プログラミングをサポート。 書き方も簡単で、関数の前に go をつけるだけ。かんたん。 ``` go func() ```
Slide 17
Slide 17 text
平行処理がかんたん たとえば 2秒かかる処理を、3回実行した時の処理速度 通常:2秒 x 3回 = 6秒 groutine:2秒 x 3回(並行) = 2秒!
Slide 18
Slide 18 text
標準パッケージが豊富 たとえば ● osパッケージ osに関わる関数がまとまっている。mkdirやchmodなどunix風の設計。 ● testingパッケージ Goパッケージの自動テストをサポートしてくれる。 パッケージ毎に機能が明確にまとまっていて、わかりやすい。
Slide 19
Slide 19 text
標準パッケージが豊富 パッケージの内容は、公式ドキュメントに載っている https://golang.org/pkg/
Slide 20
Slide 20 text
実行速度がはやい Goはコンパイラ言語で、スクリプト言語に比べて実行速度がはやい ※LIGさんのブログより引用
Slide 21
Slide 21 text
標準の規約がある たとえば 「インデントはタブ」などのコーディング規約がある。 また、コード整形をする go fmt コマンドがあり、自動で整形を行う。 プロジェクトごとにコーディング規約を徹底する必要がない!嬉しい!
Slide 22
Slide 22 text
とりあえず楽しい ● 初学者がハマりやすいclassや継承、ポインタ演算がなく覚えやすい ● 並行処理がかんたんで嬉しい ● 標準パッケージが豊富なのでモジュール入れたりしなくても使える ● 標準規約があり、自動で整形もしてくれるため書きやすく読みやすい ● Gopherくんが可愛くて、さらにたのしい
Slide 23
Slide 23 text
\ 導入事例 /
Slide 24
Slide 24 text
Dockerでも採用されてる!
Slide 25
Slide 25 text
\ まとめ /
Slide 26
Slide 26 text
まとめ ● Go言語は、徹底的な簡潔性をもつ言語として誕生した ● 言語仕様はシンプル ● 標準パッケージが豊富 ● 並行処理の記述がかんたん ● 実行速度がはやい ● 楽しい言語
Slide 27
Slide 27 text
\ 最後に /
Slide 28
Slide 28 text
参考文献 Go言語の構文について とても丁寧にわかりやすく 解説している いろいろなところで おすすめされている本
Slide 29
Slide 29 text
ありがとうございました