2018幎2æã«å·çãããèšäºãGoã¯ããã±ãŒãžã®ããŒãžã§ã³ç®¡çã远å ããå¿
èŠããããŸãã
ããæ£ç¢ºã«ã¯ãGoéçºè
ã®äœæ¥èŸæžãšããŒã«ã«ããŒãžã§ã³ç®¡çã®æŠå¿µã远å ããŠãã©ã®ããã°ã©ã ããã«ããå®è¡ããŸãã¯åæãããã«èšåãããšãã«å
šå¡ãåãããŒãžã§ã³çªå·ã䜿çšããããã«ããå¿
èŠããããŸãã
go
ã³ãã³ãã¯ãç¹å®ã®ã¢ã»ã³ããªã«å«ãŸããããã±ãŒãžã®ããŒãžã§ã³ãæ£ç¢ºã«éç¥ããå¿
èŠããããŸãã
ããŒãžã§ã³çªå·ã䜿çšãããšãåçŸå¯èœãªã¢ã»ã³ããªãäœæã§ããŸããããã°ã©ã ã®ææ°ããŒãžã§ã³ãæçš¿ãããšãã³ãŒãã®ææ°ããŒãžã§ã³ã ãã§ãªããã³ãŒããäŸåãããã¹ãŠã®ããã±ãŒãžãšãŸã£ããåãããŒãžã§ã³ãåãåããããå®å
šã«åçã®ãã€ããªãã¡ã€ã«ãäœæãããŸãã
ãŸããããŒãžã§ã³ç®¡çã«ãããææ¥ã¯ä»æ¥ãšãŸã£ããåãããã°ã©ã ããã«ããããŸãã äŸåé¢ä¿ã®æ°ããããŒãžã§ã³ããªãªãŒã¹ãããŠãã
go
ã¯ç¹å¥ãªã³ãã³ããªãã§ã¯ãããã䜿çšããŸããã
ããŒãžã§ã³ç®¡çã远å ããå¿
èŠããããŸããã
go
ã³ãã³ãã®äž»ãªå©ç¹ãæŸæ£ãã¹ãã§ã¯ãããŸãããããã¯ãåçŽããé床ãããã³ããããããã§ãã 仿¥ãå€ãã®ããã°ã©ããŒã¯ããŒãžã§ã³ã«æ³šæãæã£ãŠãããããã¹ãŠãæ£åžžã«æ©èœããŠããŸãã é©åãªã¢ãã«ãäœæããã°ãããã°ã©ããŒã¯ããŒãžã§ã³çªå·ã«æ³šæãæãããšãªãããã¹ãŠãããŸãæ©èœããããæç¢ºã«ãªããŸãã æ¢åã®ã¯ãŒã¯ãããŒã¯ã»ãšãã©å€ãããŸããã æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã¯éåžžã«ç°¡åã§ãã äžè¬ã«ãããŒãžã§ã³ç®¡çã¯éäžã§è¡ãããã¹ãã§ãããéçºè
ã®æ³šæã奪ãã¹ãã§ã¯ãããŸããã
èŠããã«ãããã±ãŒãžã®ããŒãžã§ã³ç®¡çã远å ããå¿
èŠããããŸãããbreak
go get
ã远å ããå¿
èŠã¯ãããŸã
go get
ã ãã®èšäºã§ã¯ããããè¡ãæ¹æ³ãææ¡ããä»ãã詊ãããšãã§ãããããã¿ã€ãã瀺ããŸãããããã¿ã€ãã¯ã
go
çµ±åã®åºç€ã«ãªãããšãé¡ã£ãŠããŸãã ãã®èšäºããäœãæ©èœããŠäœãæ©èœããªããã«ã€ããŠã®çç£çãªè°è«ã®å§ãŸãã«ãªãããšãé¡ã£ãŠããŸãã ãã®è°è«ã«åºã¥ããŠãææ¡ãšãããã¿ã€ãã®äž¡æ¹ã調æŽããGo 1.11ã«ãªãã·ã§ã³æ©èœã远å ããããã®
å
¬åŒææ¡ã
æç€ºããŸãã
ãã®ææ¡ã¯
go get
ãã¹ãŠã®å©ç¹ãä¿æããŸãããåçŸå¯èœãªãã«ãã远å ããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çããµããŒãããèªå販売ãæé€ãããããžã§ã¯ãããŒã¹ã®ã¯ãŒã¯ãããŒãåªå
ããŠGOPATHãåé€ãã
dep
ããã³ãã®å身ããã®ã¹ã ãŒãºãªåºçºãæäŸããŸãã ãã ãããã®ææ¡ã¯ãŸã åææ®µéã§ãã è©³çŽ°ãæ£ãããªãå Žåãäœæ¥ãã¡ã€ã³ã®Goãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å
¥ãåã«ä¿®æ£ããŸãã
äžè¬çãªç¶æ³
ææ¡ãæ€èšããåã«ãçŸåšã®ç¶æ³ãšãã®çµæãèŠãŠã¿ãŸãããã ãã®ã»ã¯ã·ã§ã³ã¯å°ã倧ãããããããããŸããããæŽå²ã¯éèŠãªæèšããããããç§ãã¡ãäœããå€ãããçç±ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãã ãããé¢çœããªãå Žåã¯ãããã«
ãªãã¡ãŒã«ã¢ã¯ã»ã¹
ããã
ãäŸä»ãã®
ä»éããããã°èšäºãèªãããšãã§ããŸãã
Makefile
ã goinstall
ããã³go get
2009幎11æãGoã®åæããŒãžã§ã³ã§ã¯ãã³ã³ãã€ã©ããªã³ã«ãŒãããã³ããã€ãã®ã©ã€ãã©ãªããªãªãŒã¹ãããŸããã ããã°ã©ã ãã³ã³ãã€ã«ããŠãªã³ã¯ããã«ã¯ã
6g
ãš
6l
ãå®è¡ããå¿
èŠãããããããã«ãµã³ãã«ã®ã¡ã€ã¯ãã¡ã€ã«ãå«ããŸããã æå°éã®
gobuild
ã·ã§ã«ã¯ã1ã€ã®ããã±ãŒãžãã³ã³ãã€ã«ãã察å¿ããmakefileãäœæã§ããŸãïŒã»ãšãã©ã®å ŽåïŒã ä»ã®äººãšã³ãŒããå
±æãã確ç«ãããæ¹æ³ã¯ãããŸããã§ããã ããã ãã§ã¯äžååã§ããããšãããã£ãŠããŸããããã³ãã¥ããã£ãšäžç·ã«æ®ãã®éçºãèšç»ããŠãããã®ããªãªãŒã¹ããŸããã
2010幎2æã
gobuckãææ¡ããŸãããããã¯ãBitbucketãGitHubãªã©ã®ãœãŒã¹ç®¡çã·ã¹ãã ã®ãªããžããªããããã±ãŒãžãããŠã³ããŒãããç°¡åãªã³ãã³ãã§ãã
Goinstall
ãçŸåšäžè¬çã«åãå
¥ããããŠããã€ã³ããŒããã¹ã«é¢ãã
Goinstall
å°å
¥ããŠããŸãã ããããåœæã¯ããããã®èŠåã«åŸã£ãã³ãŒãã¯ãããŸããã§ãã;
goinstall
ãæåã¯æšæºã©ã€ãã©ãªä»¥å€ãã€ã³ããŒãããªãããã±ãŒãžã§ã®ã¿åäœããŸããã ããããéçºè
ã¯ããã«ä»æ¥ç¥ã£ãŠããåäžã®å¥çŽã«ç§»è¡ããå
¬éãããGoããã±ãŒãžã®ã»ããã¯å
šäœçãªãšã³ã·ã¹ãã ã«æé·ããŸããã
ãŸããGoinstallã¯Makefileãä¿®æ£ããããã«ãã£ãŠã«ã¹ã¿ã ãã«ããªãã·ã§ã³ã®è€éããä¿®æ£ããŸããã ããã±ãŒãžäœæè
ãåãã«ãäžã«ã³ãŒããçæã§ããªãããšã¯æã
äžäŸ¿ã§ããããã®åçŽåã¯ããã±ãŒãž
ãŠãŒã¶ãŒã«ãšã£ãŠéåžžã«éèŠã§ããäœæè
ã䜿çšããã®ãšåãããŒã«ã»ãããã€ã³ã¹ããŒã«ããããšãå¿é
ããå¿
èŠã¯ãããŸããã ãã®åçŽåã¯ãããŒã«ã®æäœã«ãšã£ãŠãéèŠã§ãã Makefileã¯ãããã±ãŒãžãã³ã³ãã€ã«ããããã«å¿
èŠãªã¹ããããã€ã¹ãããã®ã¬ã·ãã§ãã
go vet
ããªãŒãã³ã³ããªãŒããªã©ã®å¥ã®ããŒã«ãåãããã±ãŒãžã«é©çšããã®ã¯éåžžã«å°é£ã§ãã äŸåé¢ä¿ãæ£ããååŸããå¿
èŠã«å¿ããŠå¿
èŠãªå Žåã«ã®ã¿ããã±ãŒãžãåæ§ç¯ããããšã¯ãä»»æã®Makefileã§ã¯ã¯ããã«è€éã§ãã åœæãäžéšã®äººã
ã¯æè»æ§ã奪ãããŠããããšã«å察ããŸããããæ¯ãè¿ã£ãŠã¿ããšãMakefileãæŸæ£ããããšãæ£ããã¹ãããã ã£ãããšãæããã«ãªããŸãããäžäŸ¿ããã¯ããã«äžåãå©ç¹ããããŸãã
2011幎12æãGo 1ã®æºåãšããŠ
ãgoã³ãã³ããå°å
¥ããŸãã ãããã¯
goinstall
ã
go get
眮ãæã
goinstall
ã
äžè¬ã«ã
go get
ã¯å€§ããªå€æŽ
go get
å°å
¥ãããŠããŸããGoéçºè
ããœãŒã¹ã³ãŒãã亀æãããäºãã®äœæ¥ã䜿çšã§ããããã«ãªããŸããã ãŸãã
go
ã³ãã³ãå
ã§ãã«ãã·ã¹ãã ã®äžéšãåé¢ãããããããŒã«ã䜿çšããŠå€§å¹
ãªèªååãå¯èœã«ãªããŸããã ããããããŒãžã§ã³ç®¡çã®æŠå¿µãæ¬ ãã
go get
ãŸãã
goinstallã®æåã®è°è«ã§æããã«ãªããŸããïŒããŒãžã§ã³ç®¡çã§äœããããå¿
èŠããããŸãã æ®å¿µãªãããæ£ç¢ºã«äœããã¹ããã¯æç¢ºã§ã¯ãããŸããã§ããã å°ãªããšãå²teamããŒã ã¯ãããæç¢ºã«çè§£ããŠããŸããã§ããã
go get
ããã±ãŒãžãèŠæ±ãããšãåžžã«ææ°ã®ã³ããŒãååŸãããããŠã³ããŒãããã³æŽæ°æäœãGitãMercurialãªã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ã«å§ä»»ãããŸãã ãã®ãããªããã©ã€ã³ãã¯ãŒã¯ãã¯ãå°ãªããšã2ã€ã®éå€§ãªæ¬ é¥ããããããŸããã
ããŒãžã§ã³ç®¡çãšAPIã®å®å®æ§
go get
ã®æåã®éå€§ãªæ¬ ç¹ã¯ãããŒãžã§ã³ç®¡çã®æŠå¿µããªããã°ããã®æŽæ°ã§äºæããã倿Žã«ã€ããŠãŠãŒã¶ãŒã«äœãäŒããããšãã§ããªãããšã§ãã
2013幎11æãGo 1.2ã®ããŒãžã§ã³ã«ã¯ãããŒãžã§ã³ç®¡çã«é¢ãããã®ãããªã¢ããã€ã¹ãå«ãFAQãšã³ããªã远å ãããŸããïŒããã¹ãã¯ããŒãžã§ã³Go 1.10ã«å€æŽãããŠããŸããïŒã
äžè¬çãªäœ¿çšã®ããã®ããã±ãŒãžã¯ãé²åããŠãäžäœäºææ§ãç¶æããå¿
èŠããããŸãã Go 1ã®äºææ§ã«é¢ããæšå¥šäºé
ãããã«é¢é£ããŠããŸãããšã¯ã¹ããŒããããååãåé€ããããè€åãªãã©ã«ã®ã¿ã°ä»ããæšå¥šãããããªãã§ãã ããã æ°ããæ©èœãå¿
èŠãªå Žåã¯ãå€ãååã倿Žããã«ãæ°ããååã远å ããŠãã ããã åºæ¬çãªå€æŽã®å Žåã¯ãæ°ããã€ã³ããŒããã¹ãæã€æ°ããããã±ãŒãžãäœæããŸãã
2014幎3æãGustavo Niemeyerã¯ãGoèšèªçšã®å®å®ããAPIããè£
ã£ãŠ
gopkg.inãç«ã¡äžã
ãŸãã ã ãã®ãã¡ã€ã³ã¯ããŒãžã§ã³
gopkg.in/yaml.v1
GitHubãªãã€ã¬ã¯ãã§ããã1ã€ã®GitãªããžããªãŒã®ããŸããŸãªã³ãããïŒããããç°ãªããã©ã³ãå
ïŒã®
gopkg.in/yaml.v1
ã
gopkg.in/yaml.v2
ãªã©ã®ãã¹ãã€ã³ããŒãã§ããŸãã ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«ãããšãäœæè
ã¯é倧ãªå€æŽãè¡ãå Žåãæ°ããã¡ãžã£ãŒããŒãžã§ã³ããªãªãŒã¹ããå¿
èŠããããŸãã ãããã£ãŠã
v1
ã€ã³ããŒããã¹ã®æ°ããããŒãžã§ã³ã¯ä»¥åã®ãã®ã眮ãæãã
v2
ã¯å®å
šã«ç°ãªãAPIãæäŸã§ããŸãã
2015幎8æãDave Cheney
ã¯ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã®ææ¡ãæåºããŸãã ã æ¬¡ã®æ°ã¶æéãããã¯è峿·±ãè°è«ãåŒãèµ·ãããŸãããããŒãžã§ã³ã®ã»ãã³ãã£ãã¯ã¿ã°ä»ãã¯çŽ æŽãããã¢ã€ãã¢ã§ããããšã«èª°ããåæããŠããããã«èŠããŸãããããããã®ããŒãžã§ã³ã§ããŒã«ãã©ã®ããã«æ©èœãããã¯èª°ãç¥ããŸããã§ãã
ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã®åŒæ°ã¯ã
ãã€ã©ã ã®æ³åãåç
§ããŠå¿
ç¶çã«æ¹å€ãããŸãã
ååãªæ°ã®ãŠãŒã¶ãŒãããAPIã®å¥çŽã¯éèŠã§ã¯ãªããªããŸãã 誰ãã¯ãã·ã¹ãã ã®èгå¯ãããåäœã«äŸåããŸãã
Hyrumã®æ³åã¯çµéšçã«æ£ãããã®ã§ãããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã¯ããªãªãŒã¹éã®é¢ä¿ã«é¢ããæåŸ
ãçæããããã®æçšãªæ¹æ³ã§ãã 1.2.3ãã1.2.4ãžã®ã¢ããã°ã¬ãŒãã§ã³ãŒããç Žæããããšã¯ãããŸããã1.2.3ãã2.0.0ãžã®ã¢ããã°ã¬ãŒãã§ãåé¡ã¯ãããŸããã 1.2.4ãžã®æŽæ°åŸã«ã³ãŒããæ©èœããªããªã£ãå Žåãäœæè
ã¯ãã°ã¬ããŒããåãå
¥ããããŒãžã§ã³1.2.5ã®ãšã©ãŒãä¿®æ£ããå¯èœæ§ãé«ãã§ãããã 2.0.0ãžã®æŽæ°åŸã«ã³ãŒããæ©èœããªããªã£ãïŒãŸãã¯ã³ã³ãã€ã«ãããïŒå Žåããã®å€æŽã¯æå³çãªãã®ã§ããå¯èœæ§ãã¯ããã«é«ãããã2.0.1ã§äœããä¿®æ£ãããå¯èœæ§ã¯äœãã§ãã
ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã¯äžå¯èœã§ãããšãã€ã©ã ã®æ³åããçµè«ä»ããããããŸããã 代ããã«ãäœæè
ãšãŸã£ããåãããŒãžã§ã³ã®åäŸåé¢ä¿ã䜿çšããŠãã¢ã»ã³ããªãæ
éã«äœ¿çšããå¿
èŠããããšèããŠããŸãã ã€ãŸããæ¢å®ã®ã¢ã»ã³ããªã¯å¯èœãªéãåçŸå¯èœã§ããå¿
èŠããããŸãã
èªå販売æ©ããã³åçŸå¯èœãªã¢ã»ã³ããª
go get
ã®2çªç®ã®å€§ããªæ¬ ç¹ã¯ãããŒãžã§ã³ç®¡çã®æŠå¿µããªããã°ãããŒã ã¯åçŸå¯èœãªã¢ã»ã³ããªã®ã¢ã€ãã¢ãæäŸãããã衚çŸããããšããã§ããªãããšã§ãã ãŠãŒã¶ãŒãããªããšåãããŒãžã§ã³ã®ã³ãŒãäŸåé¢ä¿ãã³ã³ãã€ã«ããŠããããšã確èªããããšã¯ã§ããŸããã 2013幎11æãGo 1.2ã®FAQã«æ¬¡ã®FAQã远å ãããŸããã
å€éšããã±ãŒãžã䜿çšããŠããŠãäºæãã倿Žãããå¯èœæ§ãããå Žåãæãç°¡åãªè§£æ±ºçã¯ããŒã«ã«ããã±ãŒãžã«ã³ããŒããããšã§ãïŒãã®ã¢ãããŒãã¯Googleã§äœ¿çšãããŠããŸãïŒã ããŒã«ã«ã³ããŒãšããŠèå¥ããæ°ããã€ã³ããŒããã¹ã§ã³ããŒãä¿åããŸãã ããšãã°ã original.com/pkg
you.com/external/original.com/pkg
ãyou.com/external/original.com/pkg
ã³ããŒã§ããŸãã ãã®æé ã®ããŒã«ã®1ã€ã«ãKeith RerikãããŸãã
Keith Rarikã¯2012幎3æã«ãã®ãããžã§ã¯ããéå§ããŸããã
goven
ãŠãŒãã£ãªãã£ã¯ãäŸåé¢ä¿ãããŒã«ã«ãªããžããªã«ã³ããŒãããã¹ãŠã®ã€ã³ããŒããã¹ãæŽæ°ããŠæ°ããå Žæãåæ ããŸãã ãã®ãããªãœãŒã¹ã³ãŒãã®å€æŽã¯å¿
èŠã§ãããäžå¿«ã§ãã æ°ããã³ããŒãæ¯èŒããŠå«ããã®ãé£ãããªãããã®äŸåé¢ä¿ã䜿çšããŠä»ã®ã³ããŒãããã³ãŒããæŽæ°ããå¿
èŠããããŸãã
2013幎9æã
ããŒã¹ã¯godep ããããã±ãŒãžã®äŸåé¢ä¿ãä¿®æ£ããããã®æ°ããããŒã«ãã
å°å
¥ããŸãã ã
godep
ã®äž»ãªææã¯ãçŸåšãã³ããŒãšåŒã°ããŠãããã®ã§ããã€ãŸããGOPATHãç¹å®ã®æ¹æ³ã§èšå®ãã
ããšã«ããããœãŒã¹ãã¡ã€ã«
ã倿Žããã«ãããŒã«ãçŽæ¥ãµããŒã
ããã«äŸåé¢ä¿ããããžã§ã¯ãã«ã³ããŒããŸãã
2014幎10æãããŒã¹ã¯GoããŒã«ã«
ãå€éšããã±ãŒãžãã®ãµããŒãã远å
ããããšãææ¡ããŸãããããã«ãããããŒã«ã¯ãã®èŠåã䜿çšããŠãããžã§ã¯ããããããçè§£ã§ããŸãã ãã®é ã«ã¯ãããã€ãã®
godep
ã¹ã¿ã€ã«ã®ãŠãŒãã£ãªãã£ããã§ã«ç»å ŽããŠããŸããã Matt Farinaã¯
godep
ãš
godep
ãç¹ã«
glide
æ¯èŒãããGo of Sea
godep
ãããŒãžã£ãŒã®æ
ããæçš¿ããŸããã
2015幎4æãDave Cheney
ã¯gbãå°å
¥ããŸãã ãããããžã§ã¯ãããŒã¹ã®ãã«ãããŒã«...ãœãŒã¹ãã³ãã£ã³ã°ã«ããå埩å¯èœãªãã«ãããã€ã³ããŒããã¹ãæžãæããããšãªãåžžã«äŸ¿å©ãšããããã§ã¯ãããŸããïŒã
ãã®æ¥ãJason Buberlieã¯ãGoããã±ãŒãžç®¡çã·ã¹ãã ã®ç¶æ³ã調æ»ããŸãããããã«ã¯ãè€æ°ã®äœæ¥ã®éè€ããåæ§ã®ãŠãŒãã£ãªãã£ã®ç¡é§ãªäœæ¥ãå«ãŸããŸãã 圌ã®èª¿æ»ã«ãããéçºè
ã¯ã€ã³ããŒãã³ãã³ããæžãæããã«èªå販売ããµããŒãããã«ã¯
go
ã³ãã³ãã«è¿œå ããå¿
èŠãããããšãæããã«ãªããŸããã åæã«ãDaniel Theofanesã¯ããã³ããŒã®ãã£ã¬ã¯ããªã«ããã³ãŒãã®æ£ç¢ºãªèµ·æºãšããŒãžã§ã³ãèšè¿°ãããã¡ã€ã«åœ¢åŒã®ä»æ§ãæºåãå§ããŸããã 2015幎6æãããŒã¹ã®ææ¡ã
Go 1.5ã§ã®
販売ã«é¢ããå®éšãšããŠåãå
¥ããŸãããGo1.5ã«ã¯ããã©ã«ãã§å«ãŸããŠããŸããã ãã¹ãŠã®èªå販売ããŒã«ã®äœæè
ããããšã«ãšååããŠãåäžã®ã¡ã¿ããŒã¿ãã¡ã€ã«åœ¢åŒãæ¡çšããããšãæšå¥šããŸããã
Goã§ã®èªåè²©å£²ã®æŠå¿µã®å°å
¥ã«ããã
vet
ãªã©ã®ããŒã«ã¯ããã°ã©ã ãããæèœã«åæã§ããããã«ãªãã仿¥ã§ã¯12ã€ã2ã€ã®ããã±ãŒãžãããŒãžã£ãŒãŸãã¯èªå販売ããŒã«ã§äœ¿çšãããŠããŸãã äžæ¹ã誰ããç°ãªãã¡ã¿ããŒã¿åœ¢åŒãæã£ãŠãããããçžäºäœçšãããäŸåé¢ä¿æ
å ±ãç°¡åã«äº€æã§ããŸããã
ããåºæ¬çã«ã¯ã販売ã¯ããŒãžã§ã³ç®¡çã®åé¡ã«å¯Ÿããäžå®å
šãªè§£æ±ºçã§ãã ã¢ã»ã³ããªã®åçŸæ§ã®ã¿ãæäŸããŸãããããã±ãŒãžã®ããŒãžã§ã³ãçè§£ãã䜿çšããããã±ãŒãžã決å®ããã®ã«åœ¹ç«ã¡ãŸããã
glide
ã
dep
ãªã©ã®ããã±ãŒãžãããŒãžã£ãŒã¯ãããŒãžã§ã³ç®¡çã®æŠå¿µãGoã«æé»çã«è¿œå ããç¹å®ã®æ¹æ³ã§ãã³ããŒãã£ã¬ã¯ããªãèšå®ããŸãã ãã®çµæãGoãšã³ã·ã¹ãã ã®å€ãã®ããŒã«ã¯æ£ããããŒãžã§ã³æ
å ±ãååŸã§ããŸããã Goãããã±ãŒãžããŒãžã§ã³ãçŽæ¥ãµããŒãããå¿
èŠãããããšã¯æããã§ãã
å
¬åŒããã±ãŒãžç®¡çå®éš
Hack DayïŒçŸåšã®Community DayïŒã®GopherCon 2016ã§ã¯ãGoã®æŽ»åå®¶ã°ã«ãŒããéãŸãã
ããã±ãŒãžç®¡çã®åé¡ã«ã€ããŠåºãè°è«ããŸãã ã ãã®çµæã®1ã€ã¯ã
æ°ããããã±ãŒãžç®¡çããŒã«ãäœæããããšãç®çãšããŠãããŸããŸãªæŽ»åã宿œããããã®å§å¡äŒãšè«®åã°ã«ãŒãã®èšç«ã§ããã ã¢ã€ãã¢ã¯ãæ¢åã®ããŒã«ãçµ±åããŒã«ã«çœ®ãæããããšã§ãããããã³ããŒã«ã¿ãã°ã䜿çšããŠGoã®çŽæ¥ããŒã«ãããã®å€éšã«å®è£
ãããŸãã å§å¡äŒã«ã¯ãPeter BurgonçããAndrew GerrandãEd MullerãJesse FrazelãSam Boyerãå«ãŸããŠããŸããã 圌ãã¯
仿§èæ¡ãæºåããåŸããµã ãšåœŒã®å©æãã¡
ã¯depãå®è£
ããŸãã ã äžè¬çãªç¶æ³ã®çè§£ã«ã€ããŠã¯ããµã ã®2016幎2æã®èšäº
ãSo You Want to Write Package Managerã ã2016幎12æã®æçš¿
ãDependency Management Saga at Goã ãGopherConã§ã®2017幎7æã®ã¹ããŒã
ãA New Era of Package Management inè¡ã ã
ãDep
ã¯å€ãã®ã¿ã¹ã¯ãå®è¡ããŸããããã¯ãçŸåšã®ãã©ã¯ãã£ã¹ã«å¯ŸããéèŠãªæ¹åã§ãã ããã¯ãå°æ¥ã®ãœãªã¥ãŒã·ã§ã³ã«åããéèŠãªã¹ãããã§ãããšåæã«ããå
¬åŒå®éšããšåŒã°ããå®éšã§ãããéçºè
ã®ããŒãºãããããçè§£ããã®ã«åœ¹ç«ã¡ãŸãã ãã ãã
dep
ãããã±ãŒãžã®ããŒãžã§ã³ç®¡çã«ããã
go
ã³ãã³ãã®å¯èœãªçµ±åã®çŽæ¥çãªãããã¿ã€ãã§
dep
ãŸããã ããã¯ãèšèšæ±ºå®ã®ç©ºéãæ¢çŽ¢ããããã®åŒ·åã§æè»ãªãã»ãŒæ®éçãªæ¹æ³ã§ãã ããã¯ãæåã«æŠã£ãã¡ã€ã¯ãã¡ã€ã«ã«äŒŒãŠããŸãã ããããèšèšæ±ºå®ã®ã¹ããŒã¹ãããããçè§£ãããµããŒãããå¿
èŠãããããã€ãã®éèŠãªæ©èœã«ãããçµã蟌ãããšãã§ãããšããã«ãããã¯Goãšã³ã·ã¹ãã ãä»ã®æ©èœãåé€ãã衚çŸåãæžãããGoã³ãŒãããŒã¹ãããäžè²«æ§ã®ãããããçè§£ãããããããã€ã³ãã£ã³ã°èŠåãæ¡çšããã®ã«åœ¹ç«ã¡ãŸãã
ãã®èšäºã¯ã
dep
åŸã®æ¬¡ã®ã¹ãããã®å§ãŸãã§ã
goinstall
ã³ãã³ããšã®æçµçãªçµ±åã®æåã®ãããã¿ã€ãã§ããã
goinstall
çžåœããããã
goinstall
ã ãããã¿ã€ãã¯ã
vgo
ãšåŒã°ããå¥åã®ããŒã ã§ããããã±ãŒãžã®ããŒãžã§ã³ç®¡çããµããŒããã
go
代æ¿åã§ãã ããã¯æ°ããå®éšã§ããããã®çµæãããããŸãã
goinstall
çºè¡šæãšåæ§ã«ãäžéšã®ãããžã§ã¯ããšã³ãŒãã¯
vgo
ãšäºææ§ããããŸãããä»ã®ãããžã§ã¯ããšã³ãŒãã¯å€æŽãå¿
èŠã§ãã ã·ã¹ãã ãç°¡çŽ åãããŠãŒã¶ãŒã®è€éããæé€ããããã«ãã¡ã€ã¯ãã¡ã€ã«ãåé€ãããã®ãšåæ§ã«ãã³ã³ãããŒã«ãšè¡šçŸåãããããåé€ããŸãã æãéèŠãªããšã¯ãå¯èœãªéãå€ãã®ã¬ãã¥ãŒãåŸãããã«
vgo
å®éšãæ¯æŽããå
é§è
ãæ¢ããŠããããšã§ãã
vgo
ããŠå®éšãéå§ããããšã¯ã
dep
ãµããŒãã忢ããããšãæå³ãããã®ã§ã¯ãããŸãã
vgo
ãšã®å®å
šãã€ãªãŒãã³ãªçµ±åãéæãããŸã§å©çšå¯èœã§ãã ãŸãããã®çµ±åãã©ã®ãããªåœ¢æ
ã§ãã£ãŠãã
dep
ããçµ±åãžã®æçµçãªç§»è¡ãå¯èœãªéãã¹ã ãŒãºã«ããããšããŸãã ãŸã
dep
倿ãããŠããªããããžã§ã¯ãã¯ããã®å€æã®æ©æµãåããããšãã§ããŸãïŒ
godep
ãš
glide
ã¢ã¯ãã£ããªéçºã忢ããdepãžã®ç§»è¡ãä¿é²ã
glide
ããšã«æ³šæããŠãã ããïŒã ãããããäžéšã®ãããžã§ã¯ãã§ã¯ãããŒãºã«å¿ããŠ
vgo
çŽæ¥åãæ¿ãããå ŽåããããŸãã
ç³ãåº
go
ã³ãã³ãã«ããŒãžã§ã³ç®¡çã远å ããææ¡ã¯ã4ã€ã®ã¹ãããã§æ§æãããŠããŸãã æåã«ãFAQããã³gopkg.inã§ç€ºãããŠãã
ã€ã³ããŒãäºææ§ã«ãŒã«ãåãå
¥ããŸããæå®ãããã€ã³ããŒããã¹ãæã€ããã±ãŒãžã®æ°ããããŒãžã§ã³ã¯ãå€ãããŒãžã§ã³ãšã®äžäœäºææ§ãå¿
èŠã§ãã 第äºã«ããã®ã¢ã»ã³ããªã§äœ¿çšãããããã±ãŒãžã®ããŒãžã§ã³ã決å®
ããããã®æå°ããŒãžã§ã³ã®éžæãšããŠç¥ããããåçŽãªæ°ããã¢ã«ãŽãªãºã ãæ¡çšããŸãã 3çªç®ã«ãGo
ã¢ãžã¥ãŒã«ã®æŠå¿µãå°å
¥ã
ãŸã ãå
šäœãšããŠããŒãžã§ã³ç®¡çãããããã±ãŒãžã®ã°ã«ãŒãã§ãããäŸåé¢ä¿ã«ãã£ãŠæºããããå¿
èŠãããæå°èŠä»¶ã宣èšããŸãã 第4ã«ãããããã¹ãŠãæ¢åã®
go
ã³ãã³ãã«çµ±åããŠãåºæ¬çãªã¯ãŒã¯ãããŒã仿¥ãã倧ããå€ãããªãããã«ããæ¹æ³ã決å®ããŸãã ãã®èšäºã®æ®ãã®éšåã§ã¯ããããã®åã¹ããããèŠãŠãããŸãã ãããã«ã€ããŠã¯ã
ä»ã®ããã°èšäºã§è©³ãã説æããŠããŸãã
ã€ã³ããŒãäºææ§ã«ãŒã«
ããã±ãŒãžç®¡çã·ã¹ãã ã®äž»ãªåé¡ã¯ãéäºææ§ã解決ããããšãã詊ã¿ã§ãã ããšãã°ãã»ãšãã©ã®ã·ã¹ãã ã§ã¯ãããã±ãŒãžBã§ããŒãžã§ã³6以éã®ããã±ãŒãžDãå¿
èŠã§ããããšã宣èšããããã±ãŒãžCã§ããŒãžã§ã³5以éã§ã¯ãªãDããŒãžã§ã³2ã3ããŸãã¯4ãå¿
èŠã§ããããšã宣èšã§ããŸãã ãããã£ãŠãããã±ãŒãžã§BãšCã䜿çšããå Žåã¯ãéãæªãããšã«ãªããŸããäž¡æ¹ã®æ¡ä»¶ãæºããDã®ããŒãžã§ã³ãéžæããããšã¯ã§ãããäœãã§ããŸããã
å¿
ç¶çã«å€§ããªããã°ã©ã ã®ã¢ã»ã³ããªããããã¯ããã·ã¹ãã ã®ä»£ããã«ãç§ãã¡ã®ææ¡ã¯ããã±ãŒãžäœæè
ã®ããã®
ã€ã³ããŒãäºææ§ã«ãŒã«ãå°å
¥ããŸãïŒ
å€ãããã±ãŒãžãšæ°ããããã±ãŒãžã®ã€ã³ããŒããã¹ãåãå Žåãæ°ããããã±ãŒãžã«ã¯å€ãããã±ãŒãžãšã®äžäœäºææ§ãå¿
èŠã§ãã
ãã®ã«ãŒã«ã¯ãåè¿°ã®FAQãç¹°ãè¿ããŸãã ãã®ããã¹ãã¯ãæ¥é²çãªå€æŽãçºçããå Žåãæ°ããã€ã³ããŒããã¹ã§æ°ããããã±ãŒãžãäœæããŸãããšããèšèã§çµãããŸããã
仿¥ããã®ãããªåçãªå€åã®ããã«ãéçºè
ã¯ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã«äŸåããŠãããããææ¡ã«çµ±åããŸããç¹ã«ã2çªç®ä»¥éã®ã¡ãžã£ãŒããŒãžã§ã³ã®æ°ã¯ããã¹ã«çŽæ¥å«ããããšãã§ããŸãã import "github.com/go-yaml/yaml/v2"
ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã§ã¯ãããŒãžã§ã³2.0.0ã¯æ ¹æ¬çãªå€æŽãæå³ãããããæ°ããã€ã³ããŒããã¹ã§æ°ããããã±ãŒãžãäœæãããŸããåã¡ãžã£ãŒããŒãžã§ã³ã«ã¯ç°ãªãã€ã³ããŒããã¹ããããããç¹å®ã®Goå®è¡å¯èœãã¡ã€ã«ã«ã¯ãã¡ãžã£ãŒããŒãžã§ã³ã®1ã€ãå«ãŸããŠããå ŽåããããŸããããã¯äºæ³ãããããšã§ããæãŸããããšã§ãããã®ãããªã·ã¹ãã ã¯ããã°ã©ã ã®ã¢ã»ã³ããªããµããŒãããéåžžã«å€§ããªããã°ã©ã ã®äžéšãv1ããv2ã«åå¥ã«åå¥ã«ã¢ããã°ã¬ãŒãã§ããŸããäœæè
ãã€ã³ããŒãäºææ§ã«ãŒã«ã«æºæ ãããšãã·ã¹ãã å
šäœãææ°é¢æ°çã«åçŽåãããããã±ãŒãžãšã³ã·ã¹ãã ã®æçåãæžå°ãããããéäºææ§ã解決ãã詊ã¿ããªããªããŸãããã¡ãããå®éã«ã¯ãäœæè
ã®ãã¹ãŠã®åªåã«ãããããããåãã¡ã€ã³ããŒãžã§ã³å
ã®æŽæ°ã«ãã£ãŠãŠãŒã¶ãŒããã±ãŒãžãç Žæããå ŽåããããŸãããããã£ãŠãé »ç¹ã«æŽæ°ããªãã§ãã ãããããã«ãããæ¬¡ã®ã¹ãããã«é²ã¿ãŸããæå°ããŒãžã§ã³éžæ
仿¥ã§ã¯ããªã©ãã»ãŒãã¹ãŠã®ããã±ãŒãžãããŒãžã£ãdep
ããã³cargo
ã蚱容ãã±ããã®ææ°ããŒãžã§ã³ã®ã¢ã»ã³ããªã§äœ¿çšãããŠããŸãããã®ããã©ã«ãã®åäœã¯2ã€ã®çç±ã§ééã£ãŠãããšæããŸãã第äžã«ããæåŸã«èš±å¯ãããããŒãžã§ã³ãã®æ°ã¯ãå€éšã€ãã³ããã€ãŸãæ°ããããŒãžã§ã³ã®å
¬éã«ããå€åããå¯èœæ§ããããŸãããã¶ãä»å€èª°ããäŸåé¢ä¿ã®æ°ããããŒãžã§ã³ãå°å
¥ããææ¥ä»æ¥å®è¡ããã³ãã³ãã®åãã·ãŒã±ã³ã¹ã¯ç°ãªãçµæãäžããã§ãããã第äºã«ããã®ããã©ã«ããäžæžãããããã«ãéçºè
ã¯ãããã±ãŒãžãããŒãžã£ãããããæããŠèªåã®æéãéãããX»ã䜿çšããå¿
èŠã¯ãªããããã®åŸãããã±ãŒãžãããŒãžã£ãããã®ã«æéããããXã䜿çšããªãæ¹æ³ãèŠã€ããŸããç§ãã¡ã®ææ¡ã§ã¯ãå¥ã®ã¢ãããŒãã䜿çšããŠããŸãããããæå°ããŒãžã§ã³ã®éžæãšåŒã³ãŸããããã©ã«ãã§ã¯ãåããã±ãŒãžã®èš±å¯ãããŠããæãå€ãããŒãžã§ã³ã䜿çšãããŸããå€ãããŒãžã§ã³ãå
¬éããããšã¯äžå¯èœã§ããããããã®æ±ºå®ã¯ææ¥å€æŽãããŸãããããã«è¯ãããšã«ãããã±ãŒãžãããŒãžã£ãŒã䜿çšããããŒãžã§ã³ã決å®ããã®ã¯ç°¡åã§ããéžæããããŒãžã§ã³çªå·ãæå°ã§ããããŸãã·ã¹ãã å
šäœãããããæå°ã§ããããããããæå°ããŒãžã§ã³ã®éžæãšåŒã³ãŸããããã¯ãæ¢åã·ã¹ãã ã®ã»ãšãã©ãã¹ãŠã®è€éããåé¿ããããã§ããæå°ããŒãžã§ã³ãéžæãããšãã¢ãžã¥ãŒã«ã¯äŸåé¢ä¿ã®æå°èŠä»¶ã®ã¿ãæå®ã§ããŸãããããã¯ãæŽæ°æäœãšããŠã³ã°ã¬ãŒãæäœã®äž¡æ¹ã«å¯ŸããŠæç¢ºã«å®çŸ©ãããäžæã®åçã§ããããããã®æäœã¯æ¬åœã«å¹æçã§ãããã®ååã«ãããã¢ãžã¥ãŒã«å
šäœã®äœæè
ã¯ãé€å€ããäŸåé¢ä¿ã®ããŒãžã§ã³ã瀺ããããç¹å®ã®äŸåé¢ä¿ãããŒã«ã«ã¹ãã¬ãŒãžã«ãããå¥ã®ã¢ãžã¥ãŒã«ãšããŠå
¬éãããŠãããã®ãã©ãŒã¯ã«çœ®ãæãããããããšãã§ããŸããã¢ãžã¥ãŒã«ãä»ã®ã¢ãžã¥ãŒã«ã®äŸåé¢ä¿ãšããŠæ§ç¯ãããŠããå Žåããããã®äŸå€ãšçœ®æã¯é©çšãããŸãããããã«ããããŠãŒã¶ãŒã¯èªåã®ããã°ã©ã ãã©ã®ããã«ã¢ã»ã³ãã«ããããå®å
šã«å¶åŸ¡ã§ããŸãããä»ã®ããã°ã©ã ã¯å¶åŸ¡ã§ããŸãããæå°ããŒãžã§ã³ãéžæãããšãããã©ã«ãã§ããã¯ãã¡ã€ã«ãªãã§åçŸå¯èœãªã¢ã»ã³ããªãæäŸãããŸããã€ã³ããŒãã®äºææ§ã¯ãæå°ããŒãžã§ã³ãéžæããããããããã®éµã§ãããŠãŒã¶ãŒã¯ãããããããã¯ããŸãã«ãæ°ããããŒãžã§ã³ã§ãããšèšãããšã¯ã§ããŸããããããããå€ãããšããèšããŸããããã®å Žåã解決çã¯æç¢ºã§ããïŒæå°ïŒæ°ããããŒãžã§ã³ã䜿çšããŠãã ããããŸããæ
£äŸã«ããæ°ããããŒãžã§ã³ã¯ãå€ãããŒãžã§ã³ã®ä»£æ¿ãšããŠåãå
¥ããããŸããGoã¢ãžã¥ãŒã«ã®å®çŸ©
Go ã¢ãžã¥ãŒã«ã¯ãã¢ãžã¥ãŒã«ãã¹ãšåŒã°ããå
±éã®ã€ã³ããŒããã¹ãã¬ãã£ãã¯ã¹ãæã€ããã±ãŒãžã®ã³ã¬ã¯ã·ã§ã³ã§ããã¢ãžã¥ãŒã«ã¯ããŒãžã§ã³ç®¡çãŠãããã§ãããããŒãžã§ã³ã¯ã»ãã³ãã£ãã¯æååãšããŠèšè¿°ãããŸãã Gitã䜿çšããŠéçºããå Žåãéçºè
ã¯ã¢ãžã¥ãŒã«ã®Gitãªããžããªã«ã¿ã°ã远å ããããšã«ãããã¢ãžã¥ãŒã«ã®æ°ããã»ãã³ãã£ãã¯ããŒãžã§ã³ãå®çŸ©ããŸããã»ãã³ãã£ãã¯ããŒãžã§ã³ãæå®ããããšã匷ããå§ãããŸãããç¹å®ã®ã³ããããžã®ãªã³ã¯ããµããŒããããŠããŸããæ°ãããã¡ã€ã«ã§ã¯ãgo.mod
ã¢ãžã¥ãŒã«ã¯äŸåããä»ã®ã¢ãžã¥ãŒã«ã®æå°ããŒãžã§ã³èŠä»¶ãå®çŸ©ããŸããããšãã°ã次ã¯ç°¡åãªãã¡ã€ã«ã§ãgo.mod
ã
ãã®ãã¡ã€ã«ã¯ããã¹rsc.io/hello
ã§èå¥ãããã¢ãžã¥ãŒã«ãå®çŸ©ããä»ã®2ã€ã®ã¢ãžã¥ãŒã«ã«äŸåããŸãïŒgolang.org/x/text
ãšrsc.io/quote
ãã¢ãžã¥ãŒã«ã¢ã»ã³ããªèªäœã¯ããã¡ã€ã«ã«ãªã¹ããããŠããå¿
èŠãªäŸåé¢ä¿ã®ç¹å®ã®ããŒãžã§ã³ãåžžã«äœ¿çšããŸãgo.mod
ã倧ããªã¢ã»ã³ããªã®äžéšãšããŠãã¢ã»ã³ããªã®ä»ã®éšåã§å¿
èŠãªå Žåã«ã®ã¿æ°ããããŒãžã§ã³ã䜿çšã§ããŸããäœæè
ã¯ããªãªãŒã¹ã«ã»ãã³ãã£ãã¯ããŒãžã§ã³vgo
ãããŒã¯ããä»»æã®ã³ãããã§ã¯ãªãããŒã¯ãããããŒãžã§ã³ã®äœ¿çšãæšå¥šããŸããrsc.io/quote
ä»å±ã®ã¢ãžã¥ãŒã«ã«ã¯ãgithub.com/rsc/quote
1.5.2ãªã©ã®ããŒã¯ä»ãããŒãžã§ã³ããããŸãããã ããã¢ãžã¥ãŒã«ã«ã¯ãŸã golang.org/x/text
ãã©ã°ä»ãããŒãžã§ã³ããããŸãããã¿ã°ãªãã³ãããã«ååãä»ããã«ã¯ãæ¬äŒŒããŒãžã§ã³v0.0.0-yyyymmddhhmmss-commitç¹å®ã®æ¥ä»ã«ç¹å®ã®ã³ããããå®çŸ©ããŸããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã§ã¯ããã®è¡ã¯èå¥åyyyymmddhhmmss-commitã® v0.0.0ãã¬ãªãªãŒã¹ã«å¯Ÿå¿ããŠããŸããããŒãžã§ã³åªå
ã®ã»ãã³ãã£ãã¯ã«ãŒã«ã¯ãããŒãžã§ã³v0.0.0ããåã®ãªãªãŒã¹ãªã©ã®ãã¬ãªãªãŒã¹ãèªèããæååã®æ¯èŒãå®è¡ããŸããæ¬äŒŒããŒãžã§ã³ã®æ¥ä»é ã«ãããæå忝èŒãæ¥ä»æ¯èŒãšäžèŽããããšãä¿èšŒãããŸãããããã®èŠä»¶ã«å ããŠããã¡ã€ã«go.mod
ã¯åã®ã»ã¯ã·ã§ã³ã§è¿°ã¹ãäŸå€ãšçœ®æã瀺ãããšãã§ããŸããããããåé¢ãããã¢ãžã¥ãŒã«ããã«ããããšãã«ã®ã¿é©çšããã倧ããªããã°ã©ã ã®äžéšãšããŠãã«ããããšãã¯é©çšãããŸãããããã¯ãã¹ãŠäŸã§ç€ºãããŠããŸããGoinstall
ãããŠå€ãgo get
ã³ãŒããããŠã³ããŒãããããšãªã©ã®ããŒãžã§ã³ç®¡çããŒã«ãèµ·ããgit
ãhg
æçåãå«ãå€ãã®åé¡ã«ã€ãªãããŸããããšãã°bzr
ãBazaarãªããžããªããã³ãŒããããŠã³ããŒãã§ããªããŠãŒã¶ãŒããã®ã·ã¹ãã ãšã¯ç°ãªããGoã¢ãžã¥ãŒã«ã¯åžžã«zipã¢ãŒã«ã€ãã®åœ¢åŒã§HTTPçµç±ã§çºè¡ãããŸãã以åã¯go get
ã人æ°ã®ããã³ãŒããã¹ãã£ã³ã°ãµã€ãå°çšã®ããŒã ããããŸãããçŸåšãvgo
ãããã®ãµã€ãããã¢ãŒã«ã€ããåä¿¡ããããã®ç¹å¥ãªAPIããã·ãŒãžã£ããããŸããzipã¢ãŒã«ã€ã圢åŒã®ã¢ãžã¥ãŒã«ã®çµ±äžããã衚瀺ã«ãããã¢ãžã¥ãŒã«ãããŒãããããã®ãããã³ã«ãšãããã·ãµãŒããŒãç°¡åã«å®è£
ã§ããŸããäŒæ¥ãåã
ã®ãŠãŒã¶ãŒã¯ãã»ãã¥ãªãã£ãããªãªãžãã«ãåé€ããå Žåã«ãã£ãã·ã¥ãããã³ããŒã䜿çšããããªã©ããããã·ãµãŒããŒãèµ·åããçç±ãç°ãªããŸãããããã·ãé
眮ãããšãã¢ã¯ã»ã·ããªãã£ã確ä¿go.mod
ãã䜿çšããã³ãŒããæ±ºå®ããããã«ããã³ããŒãã£ã¬ã¯ããªãäžèŠã«ãªããŸããããŒã go
ã¢ãžã¥ãŒã«ã䜿çšããã«ã¯ãã³ãã³ãgo
ãæŽæ°ããå¿
èŠããããŸããäž»ãªå€æŽç¹ã®äžã€ã¯ãéåžžã®ãã«ãã®ãããªã³ãã³ãã§ããããšãgo build
ãgo install
ãgo run
ãšgo test
ãæ°ããäŸåé¢ä¿ã®éèŠãå¯èœã«ãªããŸããgolang.org/x/text
å®å
šã«æ°ããã¢ãžã¥ãŒã«ã§äœ¿çšããã«ã¯ãã€ã³ããŒããGoãœãŒã¹ã³ãŒãã«è¿œå ããŠãã«ãããŸããããããæãéèŠãªå€æŽã¯ãã³ãŒããèšè¿°ããå ŽæãšããŠGOPATHã«å¥ããåããããšã§ãããã¡ã€ã«ã«go.mod
ã¯ã¢ãžã¥ãŒã«ãžã®ãã«ãã¹ãå«ãŸãã䜿çšãããåäŸåé¢ä¿ã®ããŒãžã§ã³ã決å®ããããããã¡ã€ã«ã®ãããã£ã¬ã¯ããªã¯ãä»ã®ãã£ã¬ã¯ããªãšã¯go.mod
å¥ã«ãã¹ã¿ã³ãã¢ãã³ã¯ãŒã¯ã¹ããŒã¹ãšããŠæ©èœãããã£ã¬ã¯ããªããªãŒã®ã«ãŒããããŒã¯ããŸããä»ãããªãã ããã£ãŠããŸãgit clone
ãcd
ãæžã蟌ã¿ãéå§ããŸããã©ãã§ãããŽãŒãã¹ãªããæ¬¡ã¯ïŒ
äœ¿çšæ¹æ³ã®ãã¢ãå«ãGoããŒãžã§ã³ç®¡çãã¢ãŒãå
¬éããŸããvgo
ããã®èšäºã§ã¯ãä»ããããŠã³ããŒãããŠäœ¿çšãéå§ããæ¹æ³ã«ã€ããŠèª¬æããŠããŸãvgo
ãä»ã®èšäºã®ãã®ä»ã®æ
å ±ãã³ã¡ã³ããããŠããã ããŸãã
vgoã詊ããŠãã ãããã»ãã³ãã£ãã¯ã¿ã°ã䜿çšããŠããªããžããªå
ã®ããŒãžã§ã³ã®ã¿ã°ä»ããéå§ããŸãããã¡ã€ã«ãäœæããŸãgo.mod
ããªããžããªå
ã®ç©ºã®ãã¡ã€ã«ãªãã°ãšããæ³šægo.mod
ããããã«ããdep
ãglide
ãglock
ãgodep
ãgodeps
ãgovend
ãgovendor
ãŸãã¯èšå®ãã¡ã€ã«ã¯gvt
ããã®åŸãvgo
ãã¡ã€ã«ãåã蟌ãããã«ãããã䜿çšããŠããŸãgo.mod
ãGoãããŒãžã§ã³ãµããŒãã§ãã®å»¶æ»ã®äžæ©ãèžã¿åºããŠããããšãå¬ããæããŸãã Goéçºè
ãçŽé¢ããæãäžè¬çãªåé¡ã®ããã€ãã¯ãåçŸå¯èœãªãã«ãã®æ¬ åŠããªãªãŒã¹ã¿ã°ã®å®å
šãªç¡èŠã§ããgo get
ãGOPATHãããã±ãŒãžã®ç°ãªãããŒãžã§ã³ãèªèã§ããªãããšãGOPATHã®å€éšã®ãã£ã¬ã¯ããªã§äœæ¥ã§ããªãããšãããã§æäŸãããèšèšã¯ããããã®åé¡ãã¹ãŠãæé€ããŸããããããç§ã¯ããããããã€ãã®è©³çްã«èª€ãããããŸãããããã¿ã€ãvgo
ããã¹ãããçç£çãªè°è«ã«åå ããããšã§ãèªè
ããããæ¹åã§ããããé¡ã£ãŠããŸãã Go 1.11ã«ã¯ãäžçš®ã®ãã¢ãšããŠGoã¢ãžã¥ãŒã«ã®äºåãµããŒããä»å±ããGo 1.12ã«ã¯å
¬åŒãµããŒãã远å ãããŸããããã以éã®ããŒãžã§ã³ã§ã¯ãå€ãéããŒãžã§ã³ã®ãµããŒããåé€ããŸãgo get
ãããããããã¯ç©æ¥µçãªèšç»ã§ãããæ£ããæ©èœãå®çŸããããã«åŸã®ãªãªãŒã¹ãåŸ
ã€å¿
èŠãããå Žåã¯ãããããå¿
èŠããããŸããå€ããã®ããã®ç§»è¡ããšãŠãå¿é
ã§ãgo get
æ°ããã¢ãžã¥ã©ãŒã·ã¹ãã çšã®ç¡æ°ã®ãã³ããŒããŒã«ããã®ããã»ã¹ã¯ãé©åãªæ©èœãšåããããéèŠã§ããç§»è¡ãæåãããšããããšã¯ããã®åŸã®ãªãªãŒã¹ãåŸ
ã€ããšãæå³ããå Žåãããã§ããŸãããã§ãã