Go 언어에서는 명시적으로 열거형(enum)을 지원하지 않는 이유는 Go 개발자들이 "명시적이고 간결한 것이 암시적인 것보다 좋다"는 철학을 따르기 때문입니다.
Go 언어에서는 대신 상수(constant)와 iota를 사용하여 비슷한 기능을 구현할 수 있습니다. 상수는 프로그램 전체에서 값을 변경할 수 없는 값으로 사용되며, iota는 열거형 상수에서 값을 자동으로 증가시키는 데 사용됩니다.
이러한 방식으로 enum을 대체하는 것은 코드의 가독성을 높이고 복잡성을 줄이는 데 도움이 됩니다. 또한, Go 언어는 타입 안정성(type safety)을 강조하고 있기 때문에 enum을 사용하여 런타임에서 발생할 수 있는 타입 관련 오류를 미리 방지할 수 있습니다.
따라서, Go 언어에서는 명시적인 enum을 제공하지 않지만, 상수와 iota를 사용하여 비슷한 기능을 구현할 수 있습니다. 이는 Go 언어가 간결하고 명시적인 코드를 지향하는 철학을 따른 결과입니다.