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
170
5分で知るGo言語
社内向けLTとして用意したGo言語の入門以前の紹介。
yudoufu
September 08, 2014
Tweet
Share
More Decks by yudoufu
See All by yudoufu
Project開始後に導入するAssetsの自動共有
yudoufu
2
3.5k
Drink Meetup with Mercari #36 Souzoh編
yudoufu
0
1k
daemontools-kobanashi
yudoufu
0
82
Casualにインフラテストへ入門した話
yudoufu
2
4.1k
Other Decks in Programming
See All in Programming
🔨 小さなビルドシステムを作る
momeemt
3
660
TanStack DB ~状態管理の新しい考え方~
bmthd
2
480
testingを眺める
matumoto
1
130
Testing Trophyは叫ばない
toms74209200
0
720
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
280
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
1.2k
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
4
1.9k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
1.5k
print("Hello, World")
eddie
1
500
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Language of Interfaces
destraynor
161
25k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Producing Creativity
orderedlist
PRO
347
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Invisible Side of Design
smashingmag
301
51k
Site-Speed That Sticks
csswizardry
10
810
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