ãŽã«ã¢ãŠãã©ã€ã³
ä»åã¯ãgoããŒã¯ãŒãã䜿ã£ãŠã1ã€ã®ãŽã«ãŒãã³ãšè€æ°ã®ãŽã«ãŒãã³ãåæã«èµ·åãããããã°ã©ã ãéçºããŸãã

ããã°ã©ãã³ã°èšèªãGo ãã®æã人æ°ã®ããç¹ã®1ã€ã¯ãã³ã³ãã¥ãŒã¿ãå€ãã®ã¿ã¹ã¯ãåæã«éæããèœåã第äžçŽã«ãµããŒãããŠããããšã§ããã³ã³ãã¥ãŒã¿ãã³ãŒãã®åäžãããŒãããéãå®è¡ããããšãããå€ãã®ã¹ããªãŒã ãåæã«å®è¡ããããšã«ç§»è¡ããã«ã€ããã³ãŒããåæã«å®è¡ããèœåã¯ããã°ã©ãã³ã°ã«ãããŠããéèŠã«ãªãã€ã€ãããŸããããé«éã«åäœãã ããã°ã©ã ãäœã ããã«ãããã°ã©ãã¯ã·ã¹ãã ã®ååæå®è¡èŠçŽ ãä»ã®èŠçŽ ããç¬ç«ããŠå®è¡ã§ããããã«ãåæã«å®è¡ããããã«èšèšããªããã°ãªããŸããã
Go ã®æ©èœã§ããGoroutines ãšãã£ã³ãã«ãäžç·ã«äœ¿ããšãåæå®è¡ã容æã«ãªããŸããGoroutines ã¯ãã®æ©èœã®ããã®åºæ¬çãªååãæäŸããŸããGoroutines ã¯ã¡ã¢ãªç©ºéãã¹ã¬ããéçžäºäœçšããããã¯ãŒã¯æ¥ç¶ã«é¢ããŠã³ã¹ããäœããªã£ãŠããŸãããŸããã¹ã¬ãããããèµ·åæéãçããå€ãã®ããã°ã©ãã³ã°èšèªã§ãµããŒããããŠããŸããèŠããã«ãGo ã¯ãJavaãä»ã®ããã°ã©ãã³ã°èšèªãã¹ã¬ãããšåŒãã§ãããã®ãšããŠãGoroutines ãåç §ããŠããã®ã§ãã
Goroutines ãšã¯ïŒ
ãŽã«ãŒãã³ãšã¯ãããã°ã©ã ã®ä»ã®éšåãšåæã«å®è¡ãããGolangã®åçŽãªå®è£ ã¹ã¬ããã§ããGoroutines ããŽã«ãŒãã³ã®äœæã³ã¹ããéåžžã«äœããããæšæºçãªã¹ã¬ããã«äŒŒãããšæé ã§ãããã®ãããGo ã䞊è¡ããã°ã©ãã³ã°ã«åºãæ¡çšãããŠããŸãããã¹ãŠã®ããã°ã©ã ã¯ãå°ãªããšã1ã€ã®ã¡ã€ã³ãŽã«ãŒãã³ãšåŒã°ãããŽã«ãŒãã³ã§æ§æãããŠããŸããã¡ã€ã³ãŽã«ãŒãã³ã¯ä»ã®ãã¹ãŠã®ãŽã«ãŒãã³ãå¶åŸ¡ãããããã¡ã€ã³ãŽã«ãŒãã³ãçµäºãããšã¹ã¯ãªããå ã®ä»ã®ãã¹ãŠã®ãŽã«ãŒãã³ãçµäºããŸãããŽã«ãŒãã³ã¯åžžã«ããã¯ã°ã©ãŠã³ãã§åäœããŠããŸãã
äŸäŸïŒããŒãããã¯ã«äœãæžããŠããŠãè ¹ã空ããã®ã§ãäžäŒã¿ããŠäœãé£ã¹ãããããŠãŸãæžãå§ãããããªãã¯ä»ãå Œæ¥ãšã¿ãªãããæéæ ã§2ã€ã®åœ¹å²ïŒæžãããšãšé£ã¹ãããšïŒãããŠããŸããããã§æ³šç®ãã¹ãã¯ããã®2ã€ã®äœæ¥ïŒæžãããšãšé£ã¹ãããšïŒã¯ããã¯ãåæã«å®äºãããå¿ èŠãããããšã§ããé ç®ãåæã«å®äºããããšãäžŠè¡æ§ãšåŒã³ãŸãïŒããããããã¹ãé£ã¹ãªããæºåž¯é»è©±ã䜿ãããšãæ³åããŠã¿ãŠãã ããïŒãåæäžŠè¡ã«ã¯ãåæã«å€ãã®ãã®ãšçžäºäœçšããããšãå«ãŸããŸããäžŠè¡æ§ïŒå€ãã®ããšãåæã«è¡ãããšïŒã¯ãããã®ãµãã¯ã©ã¹ã§ïŒåæã«è¡ãå¿ èŠã¯ãªãïŒäœããã®ã¿ã€ã ããŒãã«ãããã
颿°åŒã³åºãã«goããŒã¯ãŒããé©çšããããšã§ããŽã«ãŒãã³ã远å ããããšãã§ããŸãã颿°åŒã³åºãã«goããŒã¯ãŒããé©çšãããã䞊è¡åŠçãæ§èœã«èšå®ããããšã«ãªãããããããã®åã«ãgoããŒã¯ãŒããå®è¡ã«é©çšããå Žåã®å¹æã確èªããŠããããããããã°ã©ã ã®äžã«2ã€ã®ãŽã«ãŒãã³ããããšããããpackage main import" ãšããããã¹ããããã°ã©ã ã®ãšã³ããªã«ãªããŸããGo ã«ãããŠãããã±ãŒãžã®main importã¯å®£èšçãªimportæã§ãããã¡ã€ã³ãŽã«ãŒãã³(first goroutine)ã¯æé»ã®äºè§£ã§ããgo (f) ãå®è¡ãããšã2çªç®ã®ãŽã«ãŒãã³(0)ãçæãããŸããéåžžãç§ãã¡ã®ãœãããŠãšã¢ã¯ã颿°ãå®è¡ãããšã次ã®è¡ã«é²ãåã«äžæ¬¡é¢æ°å ã®ãã¹ãŠã®ã³ãã³ããå®è¡ããŸãã
ãã®ããããŽã«ãŒãã³ã«ãã£ãŠçŽ æ©ãåŠçãå®è¡ããæ¬¡ã®ã¹ãããã«é²ãããšãã§ããŸãããã®çµæãscanlnã¡ãœããã远å ãããŸãããããããªããšããã¹ãŠã®æ°å€ã衚瀺ããåã«ã³ãŒããçµäºããŠããŸããŸããGoroutines ã¯ç°¡åã«äœæã§ãã倧éã«äœæããããšãã§ããŸãããã®ãœãããå®è¡ãããšããŽã«ãŒãã³ãåæé²è¡ã§ã¯ãªãã鿬¡çã«åäœããŠããããã«èŠããããšã«æ°ãã€ãã§ãããã

ã¹ã¬ããã«æ¯ã¹ãGoroutines ã®å©ç¹
Goroutines ã³ã¹ããå®ã
Goroutines ã¯ãä»ã®åŠçã«æ¯ã¹ãŠã³ã¹ããäœãããã¹ãµã€ãºã¯æ°ãããã€ãã§ãããã°ã©ã ã®èŠæ±ã«å¿ããŠæ¡å€§ã»çž®å°ã§ãããã¹ã¿ãã¯ãµã€ãºãå®çŸ©ããªããã°ãªãããæ°žä¹ çãªãã®ã§ããã¹ã¬ãããšã¯å¯Ÿç §çã§ããã
å€éåããããã®ãããGoroutines
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã¹ã¬ããã«ã¯ãå€éåãããŠãããã®ã¯ã»ãšãã©ãããŸãããæ°çŸã®ãŽã«ãŒãã³ãæã€ããã°ã©ã ã§ã¯ãããã»ã¹ã¯1ã€ã ããããããŸãããæ®ãã®ãŽã«ãŒãã³ã¯æ°ãããªãã¬ãŒãã£ã³ã°ã»ã·ã¹ãã ã»ããã»ã¹ã«è»¢éãããŸãããã®ããã»ã¹å ã®ããããã®ãŽã«ãŒãã³ãããŠãŒã¶ãŒã®ä»å ¥ãæ±ããŠããæãªã©ã«ãã¹ã¿ãã¯ãããšãããã©ã³ã¿ã€ã ã¯ãããããããã管çããæã éçºè ã¯ãããã®åŸ®åŠãªè€éãããéé¢ãããªããåæã«ç®¡çããããã®æç¢ºãª APIãäžããã㊠ããã
Goroutines ãã£ã³ãã«ã䜿ã£ãã³ãã¥ãã±ãŒã·ã§ã³
Goroutines ãã£ãã«ã䜿ã£ãŠäŒè©±ããé¢é£ããã¡ã¢ãªãå ±æããéã«ãã¬ãŒã¹ç¶æ³ãçºçããªãããã«ããããšãæå³ããŠããããã£ãã«ã¯ããŽã«ãŒãã³ã察話ããããã«äœ¿çšããå°ç®¡ã«äŸããããšãã§ãããããããŸããã
ãã£ãã«ãšã¯ïŒ
2ã€ã®ãŽã«ãŒãã³ã¯ãã£ãã«ãä»ããŠçžäºã«äœçšãããã®åäœã調æŽããããšãã§ããŸããæ¬ãœãããŠã§ã¢ã§ã¯ã"ping"ãšé£ç¶çã«è¡šç€ºãããŸãããã£ã³ãã«ã®åœ¢åŒãæå®ããã«ã¯ã"chan"ãšããæ¥é èªã«ããã£ã³ãã«ã§äŒéãããé ç®ãã€ããŸãã"ãã®å ŽåãæååãæäŸããããšã«ãªããŸãããã£ãã«ã§ã¯ãæŒç®åãçšããŠã¡ãã»ãŒãžãéåä¿¡ããŸãã"ping" ã¯ã"ping" ãéä¿¡ããããšãæããŸãã
ãã£ãã«ã¯ã2ã€ã®ãŽã«ãŒãã³ã®åæãä¿ã€ããã«äœ¿çšãããŸããã«ãŒã¿ãŒã¯ãã£ã³ãã«ãè¶ããŠã¡ãã»ãŒãžãéä¿¡ããããšããåã«ãããªã³ã¿ãŒãã¡ãã»ãŒãžãåãå ¥ããæºåãã§ãããŸã§åŸ ã¡ãŸãããããã€ã³ããã·ã§ã³ãšãããŸãããã£ãã«ãäœæããå Žåãmake颿°ã«ç¬¬2ãã©ã¡ãŒã¿ã䜿çšããããšãã§ããŸããc:= make (chan int, 1)
ãã£ãã«ã®æ¹å
ãã£ãã«ã®ãã©ãŒã ã®åããå®çŸ©ãããããåä¿¡ãŸãã¯éä¿¡ã®ããããã«ãã©ã¡ãŒã¿åããããšãã§ããŸããäŸãã°Pingerã®ã¡ãœããèšå·ã¯ããã®ããã«å€æŽããããšãã§ããŸãã
func pinger(c chan<- string)
Cã¯ä»ããéããŸãããcããåä¿¡ãããšãã³ãŒããšã©ãŒã«ãªããŸããåæ§ã«ãåºåãæ¬¡ã®ããã«å€æŽããããšãã§ããŸãã
func printer(c string -chan)
åãã£ã³ãã«ã¯ãã®ãããªå¶çŽããããŸãããéä¿¡å°çšãåä¿¡å°çšã®ãã£ãã«ããåãä»ããªãæç¶ãã«å¯ŸããŠãåæ¹åã®ãã£ãã«ãäžããããšã¯ã§ããŸããããã®éã¯ã§ããŸããã

ãŽã«ãŒãã³ã®äœãæ¹
ãŽã«ãŒãã³ã®èµ·åæ¹æ³ã¯ç°¡åã§ãã颿°åŒã³åºãã« "go" ããŒã¯ãŒããé©çšããŠãåæå®è¡ãããŽã«ãŒãã³ãäœããŸããããã§ã¯ããŽã«ãŒãã³ãäœãããšã«ããŸããäŸãã°ããŠã§ã«ã«ã 颿°ãšã¡ã€ã³é¢æ°ã®2ã€ã®é¢æ°ãããªãããã°ã©ã ããããšããŸãã
æ°ãããŽã«ãŒãã³ãäœããšãwelcome()ã®ã³ãŒãã¯main()颿°ãšäžŠè¡ããŠå®è¡ãããŸãããã®ããã°ã©ã ãå®è¡ãããšãé©ãããããšã§ãããããã®ããã°ã©ã ã¯åã«mainã®åäœããã¹ãã衚瀺ããŠããã ãã§ããæåã«èµ·åãããŽã«ãŒãã³ãæ°ãããŽã«ãŒãã³ã¯ã©ããªã£ãã®ã§ããããïŒãã®çç±ãçè§£ããããã«ã¯ããŸãããŽã«ãŒãã³ã®2倧ç¹åŸŽãç¥ãå¿ èŠããããŸãã
- ãŽã«ãŒãã³é¢æ°ã¯ãæ°ãããŽã«ãŒãã³ãäœããšå³åº§ã«åå¿ããã颿°ã¯å¥ãšããŠã管çåŽã¯ãŽã«ãŒãã³ã«äŸåããªãã®ã§ããŽã«ãŒãã³ã®å®è¡ãå®äºããã®ãåŸ ã€ããšã¯ãªããå®è¡ã¯ããŽã«ãŒãã³é¢æ°ã®æ¬¡ã®ã³ãŒããããã¯ã«æž¡ãããŸãããã®ããããŽã«ãŒãã³ããäžãããããã©ã¡ãŒã¿ã¯ç¡èŠãããŸãã
- äœåãªãŽã«ãŒãã³ã¯ãäž»ãŽã«ãŒãã³ãšåæã«å®è¡ãããã¹ãã§ãããããäž»ãŽã«ãŒãã³ã倱æããããããã°ã©ã ã¯çµäºãã远å ã®ãŽã«ãŒãã³ã¯å®è¡ãããŸããã
ããã§ãä»åã®ã³ãŒããããŸããããªãã£ãçç±ãããã£ããšæããŸããgo welcome() ã®åŒã³åºãã«ç¶ããŠãhello ãŽã«ãŒãã³ã®å®äºãåŸ ã€åã«æ¬¡ã®ã³ãŒãè¡ã«å¶åŸ¡ãç§»ãããmain 颿°ãåºåãããŸãããå®è¡ããã¹ã¯ãªããããªããããmainãŽã«ãŒãã³ãæ»äº¡ããhelloãŽã«ãŒãã³ã®å®è¡ã劚ããã
ã¹ãªãŒãææ³(time.sleep(1 * time.second))ãçºåããŠããŽã«ãŒãã³ã1ç§é忢ãããŸãããããã§ãgoelcome()ãã颿°ã¯ãã¡ã€ã³ãŽã«ãŒãã³ãçµäºããåã«ååãªæéã確ä¿ããããšãã§ããŸããããã®ãœããã¯ãæåã«"welcome goroutine"ãæžãã1ç§åŸ ã£ãŠããmain颿°ã衚瀺ããŸããäž»ãŽã«ãŒãã³ã®ã¹ãªãŒãææ³ã䜿ã£ãŠãä»ã®ãŽã«ãŒãã³ãå®äºãããŸã§ã®éãäžæåæ¢ããŠããã®ã§ãã
è€æ°äœæããGoroutines
è€æ°ã®ãŽã«ãŒãã³ãäœæããããã«ãå¥ã®ããã°ã©ã ãèµ·åããããšã«ããŸãããŸãã䞊åã«å®è¡ããã2ã€ã®ãŽã«ãŒãã³ãäœæããããšããå§ããŸãããã®2ã€ã®ãŽã«ãŒãã³ã¯æ°åãŽã«ãŒãã³[go numbers()]ãšã¢ã«ãã¡ããããŽã«ãŒãã³[go alphabets () ]ã§ãã
æ°åãŽã«ãŒãã³ã¯1ãåºåããåã«250msæ»åšãã2ãåºåããåã«åã³äŒæ©ãã5ãåºåãããŸã§ç¶ããŸããåæ§ã«ãè±æ°åãŽã«ãŒãã³ã¯ãaããeãŸã§ã®æåã衚瀺ããåŸã400ããªç§åŸ ã¡ãŸããæåŸã«ãäž»ãŽã«ãŒãã³ãæŽæ°ãšè±æ°åãäœæããäžåäŒæ¢ããåŸãäž»ãŽã«ãŒãã³ãçµäºããã
䞊è¡ããã°ã©ãã³ã°ã®ããããééã
- ãããå¿ èŠãªãšãã«åæãåããªãããš
- æéã䜿ããåæããšãããã«Sleepã³ãŒã«ã䜿ã
- æšæºçãªåæããã±ãŒãžã®åã®ã³ããŒå€ããŽã«ãŒãã³ãã¶ãäžãã£ããŸãŸã«ãã
- åæãåŒã³åºã
- åŸ æ©ã°ã«ãŒã
- ééã£ãå Žæã«ã¡ãœããã远å ãã
- ãã£ã³ãã«ã¯æåŸã®é¢æ°éä¿¡è ãŽã«ãŒãã³ããã§ã¯ãªããææ¥ã®ã¯ããŒãºãã£ã³ãã«ãšããŠäœ¿çšããŸãã
ãŸãšã
ä»åã¯ãgo ããŒã¯ãŒãã䜿çšããŠã1 ã€ã®ãŽã«ãŒãã³ãšè€æ°ã®ãŽã«ãŒãã³ãèµ·åããåæã«æŽæ°ãåºåããããã°ã©ã ãéçºããŸãããããã°ã©ã ãèµ·åããåŸãæ°ãããã£ãã«ã確ç«ãããã®ãã£ãã«ã䜿ã£ãŠãããŽã«ãŒãã³ã§æ°å€ãçæããå¥ã®ãŽã«ãŒãã³ã«æž¡ããŠç»é¢ã«è¡šç€ºããããšãã§ããŸããããã«ãã³ã¢ã·ã¹ãã ã§ã¢ããªã±ãŒã·ã§ã³ãé«éåããããã®ãŽã«ãŒãã³ã®èµ·åæ¹æ³ã®æåŸã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãšããŠãåæã«å€ãã®ãå°å·ããŽã«ãŒãã³ãèµ·åããŸããã
ãåç¥ã®ããã«ããŽã«ãŒãã³ã¯ã¿ã¹ã¯ãããéããå¹ççã«å®è¡ããããã®æ¹æ³ã§ããããã¯ãAppMaster ãæäŸãããã¢ããªã±ãŒã·ã§ã³ã®æ©èœæ§ãåäžãããããã®å±éæé ã®1ã€ã§ããAppMaster ã䜿ãã°ãããã°ã©ãã³ã°ã®ç¥èãã»ãšãã©ãªã人ã§ããããã¥ã¢ã«ã»ã³ãŒãã£ã³ã°ã§ã¯å°é£ãªäœæ¥ãå®äºãããããšãã§ããŸãã
AppMaster 㯠no-code ã¯ã ã¢ãã€ã«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãããã¯ãšã³ãã äœæ ããããšãã§ãããã©ãããã©ãŒã ã§ããè峿·±ãããšã«ãAppMaster ã¯ãGo ã«ãã£ãŠããã¯ãšã³ããæ¯ç§22,000è¡ã§äœæãããœãŒã¹ã³ãŒãã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã


