Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Go言語入門
Search
akane
August 26, 2017
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go言語入門
akane
August 26, 2017
Transcript
29 slides
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言語の構文について とても丁寧にわかりやすく 解説している いろいろなところで おすすめされている本
ありがとうございました
More Decks by akane
See All by akane
未経験エンジニアがエンジニアリングマネージャーになるまで
akane256
1
960
JavaScriptでチャットCLIツール作成
akane256
1
710
Cloud Vision API × Go言語で画像認識やってみました
akane256
0
290
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
56
10k
How to make the Groovebox
asonas
2
2.6k
Typedesign – Prime Four
hannesfritz
42
3.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
A designer walks into a library…
pauljervisheath
211
25k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
How to Think Like a Performance Engineer
csswizardry
28
2.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
12
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
590
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Documentation Writing (for coders)
carmenintech
77
5.6k