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
5分で知るGo言語
Search
yudoufu
September 08, 2014
Programming
0
160
5分で知るGo言語
社内向けLTとして用意したGo言語の入門以前の紹介。
yudoufu
September 08, 2014
Tweet
Share
More Decks by yudoufu
See All by yudoufu
Project開始後に導入するAssetsの自動共有
yudoufu
2
3.4k
Drink Meetup with Mercari #36 Souzoh編
yudoufu
0
990
daemontools-kobanashi
yudoufu
0
74
Casualにインフラテストへ入門した話
yudoufu
2
4k
Other Decks in Programming
See All in Programming
Rubyでつくるパケットキャプチャツール
ydah
0
550
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
200
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
600
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
2k
Linux && Docker 研修/Linux && Docker training
forrep
23
4.1k
DMMオンラインサロンアプリのSwift化
hayatan
0
280
時計仕掛けのCompose
mkeeda
1
200
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
1
190
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
240
最近のVS Codeで気になるニュース 2025/01
74th
1
240
Amazon Nova Reelの可能性
hideg
0
260
CNCF Project の作者が考えている OSS の運営
utam0k
5
630
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Mobile First: as difficult as doing things right
swwweet
222
9.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
A designer walks into a library…
pauljervisheath
205
24k
Rails Girls Zürich Keynote
gr2m
94
13k
Making Projects Easy
brettharned
116
6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Language of Interfaces
destraynor
156
24k
Producing Creativity
orderedlist
PRO
343
39k
Statistics for Hackers
jakevdp
797
220k
Transcript
ͰΔ(Pݴޠ %BJDIJ,BNFNPUP $SPDPT)BDL)PVS
͜͜Ͱ͢͜ͱ w (Pݴޠʹ৮Εͨ͜ͱͳ͍ਓ͕ɺ5PVSPG(PΛ࢝ ΊΔͷʹࠔΒͳ͍Α͏ʹɺ)FMMP 8PSME·Ͱ ! w ·͊ɺͩ͠ɻ w ͕ٱʑLFZOPUF࡞Δ࿅श͔ͨͬ͠
SZ
ΞδΣϯμ w (Pݴޠͱ w (PQIFS w ڥΛ͑Δ w )FMMP8PSME w
جຊίϚϯυͱ͔
(Pݴޠͱ w (PPHMFͷ࡞ͬͨίϯύΠϧܕϓϩάϥϜݴޠ w ޙൃݴޠͳΒͰͷϞμϯͰॻ͖͍͢4ZOUBY w ίʔσΟϯάελΠϧܾΊΒΕͯΔ͠ɺެ͔ࣜΒϑΥʔ Ϛολ͕ఏڙ͞ΕͯΔ w ͕༰қͳ୯ҰόΠφϦ
w ๛ͳඪ४ύοέʔδ $ݴޠൺ͚ͩͲ w ಛʹฒྻॲཧ͚ͷػೳ͕๛
(Pݴޠͱ w ެࣜαΠτ w IUUQHPMBOHPSH w ΦϯϥΠϯ࣮ߦͱ͔ग़དྷΔεάϨϞϊ w 4UBCMF7FSTJPO
(PQIFS w ެࣜΩϟϥΫλʔ w Β͕͖͘෩ w ͖͍ w Ͳ͏ͯ͜͠͏ͳͬͨ
(PQIFS w ͵͍͙ΔΈ͋Δ w ΘΓͱछྨ͋Δ෩ ! w HPMBOH͢Δਓͷ͜ͱɺ HPQIFSͬͯݺͿΒ͍͠ɹ
ڥΛ͑Δ w ৽͍͠ͷͰɺΘΓͱ͍͍ϖʔεͰਐԽͯ͠Δ w खܰʹ৽͍͠ڥ͍͑ͨ w ͪΐ͍ݹใʹৼΓճ͞Εͳ͍Α͏ʹܰ͘հ
ίϯύΠϥͷ४උ w .BD ! w %FCJBO BOEBOZPUIFSMJOVY w QBDLBHF͕ݹ͍ͷͰɺHPEFCΛ͏ͱָ
! % wget https://godeb.s3.amazonaws.com/godeb-‐amd64.tar.gz % tar xvzf godeb-‐amd64.tar.gz % sudo ./godeb install 1.3.1 % brew install go
࡞ۀσΟϨΫτϦ w (01"5)ͱݺΕΔ࡞ۀσΟϨΫτϦ͕ඞཁ w ࣗͷ͖ͳॴʹ͍͍ͯ͠ w ྫ͑ɺ)0.&PQUHPΛ࡞ͬͯΔɻ % mkdir -‐p
$HOME/opt/go/src # srcඞਢʹͳΔͷͰ࡞ͬͱ͘ % echo ‘export GOPATH=$HOME/opt/go’ >> $HOME/.zshrc
࡞ۀσΟϨΫτϦ w (Pؔ࿈ͷQBDLBHFྨશ෦(01"5)ʹೖΔ w ࣗͷύοέʔδ͜͜Ͱ࡞Δ ! w ಈੜ͞ΕΔ . ├──
pkg │ └── darwin_amd64 │ ├── code.google.com │ ├── github.com │ └── honnef.co └── src ├── code.google.com │ └── p ├── github.com │ ├── crocos │ ├── golang │ ├── jstemmer │ ├── kisielk │ ├── mitchelh │ └── nsf └── honnef.co └── go
WJNʹ͍ͭͯ w WJNNFSͳΒ ࠷ॳ WJNHP͕Φεεϝ w IUUQTHJUIVCDPNGBUJIWJNHP w (Pʹඪ४ͷWJNαϙʔτ͋Δ֦͠ு͢Δ ͷ͋Δ͚Ͳɺ·ͣखܰͳͷͰ
w ·͊WJNઃఆ)FMMP 8PSMEޙͰ͍͍Μ͡ΌͶ
ิ w 2Α͘(03005ઃఆ͠ΖͬͯهࣄݟΔ͚Ͳʁ w "͋Εɺݹ͍ίϯύΠϧؔ࿈ઃఆͳΜͰɺHPEFC ͰೖΕΕؾʹ͠ͳͯ͘େৎͬ͢ w ࢀߟIUUQLXNUOFUJOEFYQIQ ZPVEPOUOFFEUPTFU HPSPPUSFBMMZ
)FMMP 8PSME w Կͱ͋ΕͬͯΈΑ͏ w ·ͣ࡞ۀσΟϨΫτϦΛ४උ ! w TSDҎԼΛϦϙδτϦ໊ͬΆ͘࡞Δ w
HPHFUͷϑΥʔϚοτʹ߹ΘͤͯΔΜͰ͢ % cd $GOPATH/src % mkdir -‐p github.com/crocos/go-‐helloworld # ྫ͑Ͷɻ % vim main.go
)FMMP 8PSME w ҙ w JOEFOUIBSEUBC w GVODNBJO \Χοίվߦ͠ͳ͍Ͱίί w
࢝·ΓNBJOQBDLBHFͷNBJO͔ؔΒ package main ! import “fmt” ! func main() { fmt.Println(“Hello, World!”) }
)FMMP 8PSME ! w ͘͠ ! w ʘ ?P? ʗ
% go run main.go # Hello, World! % go build main.go % ./go-‐helloworld
جຊతͳίϚϯυͱ͔ w ରϑΝΠϧΛίϯύΠϧ࣮ߦ w ಈ࡞ςετͳͲʹ͏ɻ ! w ରσΟϨΫτϦҎԼͷίϯύΠϧɺόΠφϦੜ %
go run main.go hoge.go … % go build
جຊతͳίϚϯυͱ͔ w ύοέʔδΛऔͬͯ͘Δ w ֎෦ϥΠϒϥϦΛऔಘͨ͠ΓɺύοέʔδΛ࣋ͬ ͖ͯͨΓ৭ʑ w (01"5)ͷԼʹల։͞ΕΔ % go
get github.com/crocos/rds-‐testrunner
͜ͷ͋ͱ w UPVSPGHP w IUUQHPUPVSKQBQQTQPUDPN w HPMBOHKQߋ৽͞Εͯͳ͍ͷͰݟͪΌμϝ w ࠓ݄ͷ8&# %#
w &⒎FDUJWF(P w IUUQTHPMBOHPSHEPDF⒎FDUJWF@HPIUNM