[Go] enum ?

Go์—๋Š” enum syntax๊ฐ€ ๋”ฐ๋กœ ์—†๋‹ค.
C์—๋„ enum์€ ์žˆ๋Š”๋ฐ... ์œ ์‚ฌ-๋ชจ๋˜-C๋ฅผ ์ง€ํ–ฅํ•˜๋Š” Go์—์„œ ํ‡ด๋ณดํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋‹ค.

๊ทธ๋ž˜์„œ enum ๊ฐ™์€ ์—ด๊ฑฐ๊ฐ’์„ ์ •์˜ํ•ด์„œ ์“ฐ๋ ค ํ•ด๋„ ๋งˆ๋•…ํ•œ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค.
๊ทธ๋ƒฅ ์ƒ์ˆ˜๋กœ ์ •์˜ํ•ด์„œ ์“ด๋‹ค.




const์™€ iota๋ฅผ ์ด์šฉํ•œ ์œ ์‚ฌ enum

์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
ํƒ€์ž…์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐ’ ๋ฒ”์œ„ ์ œํ•œ๋„ ์•ˆ๋˜๊ณ , ์ž๋™์™„์„ฑ๋„ ๋ถˆํŽธํ•œ ์ ์ด ๋งŽ์ง€๋งŒ, ๊ณ ํผ๋“ค์€ ๊ทธ๋ž˜๋„ ์ž˜ ์“ด๋‹ค.

๊ทธ๋ƒฅ ์ด๋Ÿฐ์‹์œผ๋กœ const ๋ณ€์ˆ˜ ๊ทธ๋ฃน์„ ์ •์˜ํ•˜๊ณ , iota ๋“ฑ์œผ๋กœ ์—ด๊ฑฐ๊ฐ’์„ ์ฃผ์ž…ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ณ„๊ฑฐ์—†๋‹ค.

const (
	RED   = iota // 0
	GREEN = iota // 1
	BLUE  = iota // 2
)

์ด๊ฒŒ ๋ถˆํŽธํ•˜๋‹ค๋ฉด ๊ทธ๋ƒฅ enum์„ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด์ฃผ๊ฑฐ๋‚˜ ํ•ด์•ผํ•  ๊ฒƒ์ด๋‹ค.



์ฐธ์กฐ
https://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-go