Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go言語入門
Search
akane
August 26, 2017
0
530
Go言語入門
akane
August 26, 2017
Tweet
Share
More Decks by akane
See All by akane
未経験エンジニアがエンジニアリングマネージャーになるまで
akane256
1
930
JavaScriptでチャットCLIツール作成
akane256
1
670
Cloud Vision API × Go言語で画像認識やってみました
akane256
0
270
Featured
See All Featured
BBQ
matthewcrist
89
9.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Done Done
chrislema
186
16k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
730
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
How to train your dragon (web standard)
notwaldorf
97
6.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
For a Future-Friendly Web
brad_frost
180
10k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
Go言語入門 2017 08 26
@akane_256 Women Who Go Tokyo 共同オーガナイザー 自己紹介
Women Who Go Tokyo 都内で、月に1回集まってGoを勉強しています
Today’s Goal Go言語の特徴をしる Go言語楽しそうな雰囲気を感じる
アジェンダ • Go言語のなりたち • 特徴 • 導入事例 • まとめ
\ Go言語なりたち /
Goプロジェクトは Googleのあるソフトウェアシステムに 対する不満から生まれた
システムの一部をより複雑にすることによって 問題点を直すと ゆっくり、確実に プログラムの複雑性は増していく
None
徹底的な簡潔性
Go言語誕生
・表現力がある ・コンパイルと実行の両方で効率的 ・信頼性が高い ・頑強なプログラムを書くのに効果的 Go言語と付属ツールの目標
\ Go言語の特徴 /
• シンプル • 並行処理がかんたん • 標準パッケージが豊富 • 実行速度がはやい • 標準の規約がある
• とりあえずたのしい
シンプル 他の言語が持つ多くの機能を削り、意図的に言語仕様をシンプルにしている • classがない、継承がない • 例外がない • コンストラクタ、デストラクタがない • メソッド内に「this」がない
• ポインタ演算がない • 行末のセミコロンがない
平行処理がかんたん goroutine(ゴルーチン)と呼ばれる機能で並行プログラミングをサポート。 書き方も簡単で、関数の前に go をつけるだけ。かんたん。 ``` go func() ```
平行処理がかんたん たとえば 2秒かかる処理を、3回実行した時の処理速度 通常:2秒 x 3回 = 6秒 groutine:2秒 x
3回(並行) = 2秒!
標準パッケージが豊富 たとえば • osパッケージ osに関わる関数がまとまっている。mkdirやchmodなどunix風の設計。 • testingパッケージ Goパッケージの自動テストをサポートしてくれる。 パッケージ毎に機能が明確にまとまっていて、わかりやすい。
標準パッケージが豊富 パッケージの内容は、公式ドキュメントに載っている https://golang.org/pkg/
実行速度がはやい Goはコンパイラ言語で、スクリプト言語に比べて実行速度がはやい ※LIGさんのブログより引用
標準の規約がある たとえば 「インデントはタブ」などのコーディング規約がある。 また、コード整形をする go fmt コマンドがあり、自動で整形を行う。 プロジェクトごとにコーディング規約を徹底する必要がない!嬉しい!
とりあえず楽しい • 初学者がハマりやすいclassや継承、ポインタ演算がなく覚えやすい • 並行処理がかんたんで嬉しい • 標準パッケージが豊富なのでモジュール入れたりしなくても使える • 標準規約があり、自動で整形もしてくれるため書きやすく読みやすい •
Gopherくんが可愛くて、さらにたのしい
\ 導入事例 /
Dockerでも採用されてる!
\ まとめ /
まとめ • Go言語は、徹底的な簡潔性をもつ言語として誕生した • 言語仕様はシンプル • 標準パッケージが豊富 • 並行処理の記述がかんたん •
実行速度がはやい • 楽しい言語
\ 最後に /
参考文献 Go言語の構文について とても丁寧にわかりやすく 解説している いろいろなところで おすすめされている本
ありがとうございました