5分で知るGo言語

188abc8954f5a349f8df86c8586a9b1d?s=47 yudoufu
September 08, 2014

 5分で知るGo言語

社内向けLTとして用意したGo言語の入門以前の紹介。

188abc8954f5a349f8df86c8586a9b1d?s=128

yudoufu

September 08, 2014
Tweet

Transcript

  1. ෼Ͱ஌Δ(Pݴޠ %BJDIJ,BNFNPUP $SPDPT)BDL)PVS

  2. ͜͜Ͱ࿩͢͜ͱ w (Pݴޠʹ৮Εͨ͜ͱͳ͍ਓ͕ɺ5PVSPG(PΛ࢝ ΊΔͷʹࠔΒͳ͍Α͏ʹɺ)FMMP 8PSME·Ͱ ! w ·͊ɺ෼ͩ͠ɻ w ๻͕ٱʑLFZOPUF࡞Δ࿅श͔ͨͬ͠

    SZ
  3. ΞδΣϯμ w (Pݴޠͱ͸ w (PQIFS w ؀ڥΛ੔͑Δ w )FMMP8PSME w

    جຊίϚϯυͱ͔
  4. (Pݴޠͱ͸ w (PPHMFͷ࡞ͬͨίϯύΠϧܕϓϩάϥϜݴޠ w ޙൃݴޠͳΒͰ͸ͷϞμϯͰॻ͖΍͍͢4ZOUBY w ίʔσΟϯάελΠϧ΋ܾΊΒΕͯΔ͠ɺެ͔ࣜΒϑΥʔ Ϛολ͕ఏڙ͞ΕͯΔ w ഑෍͕༰қͳ୯ҰόΠφϦ

    w ๛෋ͳඪ४ύοέʔδ $ݴޠൺ΂͚ͩͲ  w ಛʹฒྻॲཧ޲͚ͷػೳ͕๛෋
  5. (Pݴޠͱ͸ w ެࣜαΠτ w IUUQHPMBOHPSH w ΦϯϥΠϯ࣮ߦͱ͔ग़དྷΔεάϨϞϊ w 4UBCMF7FSTJPO

  6. (PQIFS w ެࣜΩϟϥΫλʔ w Β͕͖͘෩ w ͖΋͍ w Ͳ͏ͯ͜͠͏ͳͬͨ

  7. (PQIFS w ͵͍͙ΔΈ΋͋Δ w ΘΓͱछྨ͋Δ෩ ! w HPMBOH͢Δਓͷ͜ͱ΋ɺ HPQIFSͬͯݺͿΒ͍͠ɹ

  8. ؀ڥΛ੔͑Δ w ৽͍͠ͷͰɺΘΓͱ͍͍ϖʔεͰਐԽͯ͠Δ w खܰʹ৽͍͠؀ڥ੔͍͑ͨ w ͪΐ͍ݹ৘ใʹৼΓճ͞Εͳ͍Α͏ʹܰ͘঺հ

  9. ίϯύΠϥͷ४උ 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
  10. ࡞ۀσΟϨΫτϦ w (01"5)ͱݺ͹ΕΔ࡞ۀσΟϨΫτϦ͕ඞཁ w ࣗ෼ͷ޷͖ͳ৔ॴʹ͍͍ͯ͠ w ྫ͑͹๻͸ɺ)0.&PQUHPΛ࡞ͬͯΔɻ %  mkdir  -­‐p

     $HOME/opt/go/src  #  src͸ඞਢʹͳΔͷͰ࡞ͬͱ͘   %  echo  ‘export  GOPATH=$HOME/opt/go’  >>  $HOME/.zshrc
  11. ࡞ۀσΟϨΫτϦ 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
  12. WJNʹ͍ͭͯ w WJNNFSͳΒ ࠷ॳ͸ WJNHP͕Φεεϝ w IUUQTHJUIVCDPNGBUJIWJNHP w (Pʹ͸ඪ४ͷWJNαϙʔτ΋͋Δ֦͠ு͢Δ΋ ͷ΋͋Δ͚Ͳɺ·ͣ͸खܰͳͷͰ

    w ·͊WJNઃఆ͸)FMMP 8PSMEޙͰ͍͍Μ͡ΌͶ
  13. ิ଍ w 2Α͘(03005ઃఆ͠ΖͬͯهࣄݟΔ͚Ͳʁ w "͋Εɺݹ͍ίϯύΠϧؔ࿈ઃఆͳΜͰɺHPEFC ͰೖΕΕ͹ؾʹ͠ͳͯ͘΋େৎ෉ͬ͢ w ࢀߟIUUQLXNUOFUJOEFYQIQ ZPVEPOUOFFEUPTFU HPSPPUSFBMMZ

  14. )FMMP 8PSME w Կ͸ͱ΋͋Ε΍ͬͯΈΑ͏ w ·ͣ͸࡞ۀσΟϨΫτϦΛ४උ ! w TSDҎԼΛϦϙδτϦ໊ͬΆ͘࡞Δ w

    HPHFUͷϑΥʔϚοτʹ߹ΘͤͯΔΜͰ͢ %  cd  $GOPATH/src   %  mkdir  -­‐p  github.com/crocos/go-­‐helloworld  #  ྫ͑͹Ͷɻ   %  vim  main.go
  15. )FMMP 8PSME w ஫ҙ఺ w JOEFOUIBSEUBC w GVODNBJO \೾Χοί͸վߦ͠ͳ͍Ͱίί w

    ࢝·Γ͸NBJOQBDLBHFͷNBJOؔ਺͔Β package  main   ! import  “fmt”   ! func  main()  {     fmt.Println(“Hello,  World!”)   }
  16. )FMMP 8PSME ! w ΋͘͠͸ ! w ʘ ?P? ʗ

    %  go  run  main.go  #  Hello,  World! %  go  build  main.go   %  ./go-­‐helloworld
  17. جຊతͳίϚϯυͱ͔ w ର৅ϑΝΠϧΛίϯύΠϧ࣮ߦ w ಈ࡞ςετͳͲʹ࢖͏ɻ ! w ର৅σΟϨΫτϦҎԼͷίϯύΠϧɺόΠφϦੜ ੒ %

     go  run  main.go  hoge.go  … %  go  build
  18. جຊతͳίϚϯυͱ͔ w ύοέʔδΛऔͬͯ͘Δ w ֎෦ϥΠϒϥϦΛऔಘͨ͠ΓɺύοέʔδΛ࣋ͬ ͖ͯͨΓ৭ʑ w (01"5)ͷԼʹల։͞ΕΔ %  go

     get  github.com/crocos/rds-­‐testrunner
  19. ͜ͷ͋ͱ w UPVSPGHP w IUUQHPUPVSKQBQQTQPUDPN w HPMBOHKQ͸ߋ৽͞Εͯͳ͍ͷͰݟͪΌμϝ w ࠓ݄ͷ8&# %#

    w &⒎FDUJWF(P w IUUQTHPMBOHPSHEPDF⒎FDUJWF@HPIUNM