🐾   [개념] enum이 무엇일까?

배경

상태 값처럼 정해진 값을 사용할 때 Enum을 만들어 사용했다.

Enum

  • 상수의 집합을 정의할 때 사용되는 타입
  • 변하지 않는 값(상수)을 한 곳에 놓고 여러 군데에서 사용하는 것이다.
  • 장점 : 로직 수정 시 여기만 수정하면 된다 => 리팩터링 할 때 좋다.

나의 사용 예시

  • 기부자 타입할 때 사용한다. ex) INDIVIDUAL, BUSINESS
  • 사업자인 경우도 타입이 있다. ex) CORPORATE, PERSONAL
  • 기부영수증 상태, 문서 종류, 국가 타입 등에 사용했다

예시

type DonorTypeEnum int

const (
INDIVIDUAL DonorTypeEnum = 0
BUSINESS   DonorTypeEnum = 1
)

var donorTypeEnum = [...]string{"INDIVIDUAL", "BUSINESS"}

func (s DonorTypeEnum) String() string {
switch s {
case 0, 1:
return donorTypeEnum[s]
default:
return fmt.Sprintf("%d", s)
}
}

​ ​ ​