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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yusuke AONO
October 28, 2014
Programming
0
180
Golangの紹介(基礎)
Yusuke AONO
October 28, 2014
Tweet
Share
More Decks by Yusuke AONO
See All by Yusuke AONO
Webアプリのテスト(Atrae社内勉強会)
ysk1031
1
110
Twilioの簡単な説明
ysk1031
1
72
Other Decks in Programming
See All in Programming
CSC307 Lecture 04
javiergs
PRO
0
660
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
AtCoder Conference 2025
shindannin
0
1.1k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
CSC307 Lecture 05
javiergs
PRO
0
500
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
610
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
730
CSC307 Lecture 07
javiergs
PRO
1
560
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
The Spectacular Lies of Maps
axbom
PRO
1
530
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
79
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
The agentic SEO stack - context over prompts
schlessera
0
650
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Optimizing for Happiness
mojombo
379
71k
Transcript
Goݴޠೖͷೖ 2014/10/28 Atraeࣾษڧձ
Goݴޠͱ • 2009ʹൃද͞ΕͨΦʔϓϯιʔεͷݴޠ • Google͕։ൃ • CݴޠɺUTF-8ɺmemcachedͷ։ൃऀΒ͕ઃ ܭʹࢀՃ • ݱࡏόʔδϣϯ1.3.3
ಛ • ੩తͳܕ͖ݴޠ • γϯϓϧʢͳߏจʣ • ʮྫ֎ʯ͕ແ͔ͬͨΓ͢Δ • ίϯύΠϧɺ࣮ߦ͕͍ •
҆શੑ͕ߴ͍ • ྫɿະ༻ͷมύοέʔδ͕͋ΔͱɺίϯύΠϧ௨Βͳ͍ • ฒྻॲཧָ͕ʹॻ͚Δ
࠾༻ࣄྫ • ίϚϯυϥΠϯπʔϧϛυϧΣΞʹΘΕΔ͜ͱଟ͠ɻ ·ͩRailsతͳఆ൪ແ͍ײ͕ͩ͡ɺWAF͋Δ • peco • hub • Docker
• Packer • mackerel
Πϯετʔϧ • MacͳΒɺhomebrew͏͕ΑΖ͠ • GOPATHͱ͍͏ڥมͷઃఆ͕ඞཁͰ͢ • ੨ϗʔϜσΟϨΫτϦΛઃఆͯ͠Δ • ڥߏஙΊΜͲ͍ਓɺGolangͷαΠτͰͱΓ͋͑ ͣಈ͔͢ͷ͕Φεεϝ
• http://play.golang.org/p/-URiXol0GB
ϋϩʔϫʔϧυ
ϓϩάϥϜͷ࣮ߦ • ຊདྷίϯύΠϧΛͯ͠͏ݴޠ • ͕ɺgo run ίϚϯυͰɺίϯύΠϧ͠ͳͯ͘ ࣮ߦՄೳ • ίϯύΠϧɺgo
build ίϚϯυͰ • ίϯύΠϧͰੜ͞ΕΔͷɺ࣮ߦܗࣜͷόΠ φϦϑΝΠϧ
ϑΥʔϚοτ • ͭ͡ίʔσΟϯάن͕͔ͳΓݫ͍͠ • Πϯσϯτɺϋʔυλϒ͡Όͳ͖Όμϝ • ֯εϖʔεΛೖΕΔ/ೖΕͳ͍ॴ etc. • ࣗ༝͕͍ɺ౷Ұੑ͕ੜ·ΕΔ
• go fmt ίϚϯυͰࣗಈܗՄೳ • ࣗಈͰߏจνΣοΫͯ͘͠ΕΔϓϥάΠϯ͕ɺ͍͍ͩͨͷΤ σΟλʹ͋Δʢඞਢͩͱࢥ͏ʣ
جຊจ๏ • εϥΠυʹ͢ΔͷΊΜͲ͍ ϒϩάʹॻ͍ͨ • http://yusuke-aono.hatenablog.com/entry/ 20141026/1414313149
Goroutine • Goݴޠͷେ͖ͳಛͷҰͭɺಉظʢฒߦॲ ཧʣϓϩάϥϛϯάΛ؆୯ʹ࣮ݱ͢Δػೳ • ಡΈํΰϧʔνϯ • ͍ΘΏΔεϨουతͳͷ • main()
ؔ1ͭͷΰϧʔνϯͷதͰ࣮ߦ͞Ε ͍ͯͨ
Not Goroutine
Goroutine (ʆŋωŋ´)ʎ
Channel • ෳͷΰϧʔνϯؒͰσʔλΛΓͱΓ͢Δ ʹʁ • ͦͷࡍʹ͏ͷ͕ɺνϟωϧ • ΈࠐΈͷ make() ؔΛར༻
Channelͷར༻
νϟωϧɺͲ͏͑Δ͔ • ྫ͑ɺಉ࣌ʹෳͷαʔόʔʹϦΫΤε τΛग़ͯ͠େྔͷ໋ྩͱେྔͷσʔλΛฒྻ ॲཧ͢ΔϓϩάϥϜɺͱ͔ʁ • GoͷϛυϧΣΞ͕ଟ͍ͷɺGoroutine ͱChannelͷଘࡏ͕͋Δ͔ΒͩͱࢥΘΕΔ
GoͷWAF • Revel • Martini • Goji • net/http and
so on. SinatraͬΆ͍ͷ͔ΒRailsΈ͍ͨͳશ෦ೖΓ·Ͱ৭ʑ͋Δɻ ৮ͬͯࢼ࣌ؒ͢ͳ͔ͬͨɺ͢Μ·ͤΜɻɻ
·ͱΊ • γϯϓϧʹ࡞ΒΕ͍ͯͯɺ݁ߏ͍֮͑͢ • ίϯύΠϧ࣌ʹνΣοΫͯ͘͠ΕΔͷྑ͍ʢϙΧϛεݮΔʣ • ฒྻॲཧ͕؆୯ʹॻ͚ͯͼͼΔ • ͱ͍͑ɺ੩తܕ͚ίʔσΟϯάͷεϐʔυײ͕ଟগམ ͪΔͩΖ͏ʢಛʹRubyʹͱͬͯʣ
• ܭࢉʢߦྻͷੵͱ͔ʣॲཧೳྗͱ͔ɺWAFͱͯ͠ͷ͍ ͢͞ͱ͔͏গ͠ௐͯΈ·͢