[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