Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
golang
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tsuyoshi nakamura
August 31, 2016
Technology
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
golang
tsuyoshi nakamura
August 31, 2016
More Decks by tsuyoshi nakamura
See All by tsuyoshi nakamura
社内の勉強会で発表した_output_一部抜粋版_.pdf
tsuyoshi
0
510
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
87
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
2k
PHPを少し深堀るよ.pdf
tsuyoshi
0
400
Reactive_Manifesto.pdf
tsuyoshi
0
92
About_Resilience.pdf
tsuyoshi
1
97
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.3k
スタートアップしてからの失敗の数々
tsuyoshi
0
2.5k
スタートアップエンジニアの役割
tsuyoshi
0
550
Other Decks in Technology
See All in Technology
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
6
530
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
480
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
170
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
340
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
110
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
350
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
200
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
670
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
980
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
150
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
800
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
100
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
So, you think you're a good person
axbom
PRO
2
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Crafting Experiences
bethany
1
230
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Writing Fast Ruby
sferik
630
63k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Transcript
Go lang入門 2015-12-11 社内勉強会 Tsuyoshi Nakamura
動くデモまで出来れば良 かったのですが、すいま せん間に合いませんで した。
アジェンダ • Go langって? • 開発環境まわり • 今までのphp,java等のオブジェクト志向言語との違い • まとめ
Go言語って? • 登場時期:2009年 • Googleが開発 • 静的型付言語 今まで多く使ってきたLL言語とはちょっと違う 「コンパイルが必要 → javaをイメージ → 遅い」とはならない。らしい コンパイルされる為、凡ミス的なsyntax
errorとかは心配ない LLライクなC • ググる場合は 「go lang」とlangをつけないとヒットしない(個人的に一番重要)
開発周り • /usr/local/goに最新のgoをダウンロードして解凍。.bashrcを設定で終わり export GOPATH=~/.go export PATH=$PATH:/usr/local/go/bin • エディタ:fatih/vim-go(オールインワンプラグイン)あれば良い感じがする vimのパッケージ管理(neobundle)経由で「NeoBundle
‘fatih/vim-go’」で速攻入る それ以外に使っているプラグインは 「scrooloose/syntastic」シンタックスチェック 「ervandew/supertab」tabでコード補完 • IntelliJ周りは知らん • 標準でテストライブラリがgo言語にはあるけど「assertequals」使えないので (https://github.com/stretchr/testify)使おうと思ってるけど試してない ※吉田さん教えてくれた • 対話式の確認したい時(https://github.com/motemen/gore)。REPL ※吉田さん教えてくれた コードの変更、保存をトリガーにホットデプロイのリロードしてくれるプラグインも あるらしいので、合わせて検討中
オブジェクト志向言語との違い • 継承して拡張して使っていくという考えがない ややこしいけど、「合成・埋め込み」という考えがあり、それが代替になるっぽい 親クラスからまるっとメソッド等をもらって、独自に拡張するのでなく 再利用可能な部品を作り、必要に応じて合成して使うイメージ • 例外処置として「panic()」「recover()」とかあるけどtry〜catchとは何か違う。 まだ慣れてない。。。
• 略が多い。「var aaa int = 10」 = 「aaa := 10」 • ハードタブ • 関数の{} 位置が決まってる • ポインタ、並列処理、マップ、スライス、構造体、インターフェイス等々。。。
まとめ • 基本的なことはなんとなく理解できた。結構違う部分が多い気がする いろいろとはまりどこりいっぱいありそう • フレームワーク、ORM、テストあたりを触ってみる