Goèšèª
Goèšèª æ°ã«ãªãããšã®ã¡ã¢ã Goã«ãããåæå(enum)ã®è¡šçŸ Goèšèªã«ã¯ãå€ãã®ä»ã®ããã°ã©ãã³ã°èšèªã«ååšããåæå(enum)ã¯ãããŸãããããããGoã§enumã®ãããªæ©èœãå®çŸããæ¹æ³ããããŸãã åºæ¬çãªåæåã®è¡šçŸ 以äžã®ã³ãŒãã¯ãè²ãè¡šçŸããColoråãå®çŸ©ããäŸã§ãã // åŸã§è§ŠããŸãããããã¯æšå¥šãããªãæ¹æ³ã§ãã type Color int const ( Red Color = iota Blue Yellow ) ãã®äŸã§ã¯ãColorãšããæ°ããåãå®çŸ©ããintåãããŒã¹ãšããŠããŸããããã¯ãiotaãæŽæ°ãçæããããã§ãããã®å®çŸ©ã«ãããRedã¯0ãBlueã¯1ãYellowã¯2ãšããå€ãæã€ããšã«ãªããŸãã å€ãã®å Žåããã®ãããªæ°å€ããå ·äœçãªæååãååŸããããšããèŠæ±ããããŸãããã®ããã以äžã®ããã«Stringã¡ãœãããå®çŸ©ããŸãã func (c Color) String() string { switch c { case Red: return "Red" case Blue: return "Blue" case Yellow: return "Yellow" default: return "Unknown" } } 泚æç¹ãšæ¹åæ¹æ³ äžèšã®æ¹æ³ã¯ãäžèŠãããšåé¡ãªãåäœããããã«èŠããŸãããå®ã¯åé¡ç¹ããããŸãã Goã«ãããintåã®ãŒãå€ã¯0ã§ãããã®ãããColoråã®ãŒãå€ã0ãšãªããŸããäžèšã®äŸã§ã¯ããŒãå€ãRedã«å¯Ÿå¿ããŠããŸããããäœãæå®ããªãå Žåã®ããã©ã«ããRedãšãªã£ãŠããŸããŸãã ãã®åé¡ã解決ããããã«ã¯ããŒãå€ãUnknownãšããŠå®çŸ©ããããiota+1ã§æ°ãå§ããæ¹æ³ããããŸãã type Color int const ( UnknownColor = iota // ãŒãå€ãUnknownãšããŠå®çŸ© Red Blue Yellow ) const ( Red Color = iota + 1 // 1ããæ°ãå§ãã Blue Yellow ) å人çã«ã¯ãuintã§å®çŸ©ããã®ã奜ãã§ãã uintåã䜿çšããããšã§ãè² ã®å€ãæããªãåæåãäœæã§ããã è¿œå æ å ± Stringerã€ã³ã¿ãŒãã§ãŒã¹: Stringã¡ãœããã¯ãGoã®çµã¿èŸŒã¿ã€ã³ã¿ãŒãã§ãŒã¹ã§ããStringerã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããŠããŸããããã«ãããfmt....