728x90 반응형 Type2 golang - const와 iota로 enum(열거)형 구현하기 우리는 다양한 서적, 베스트 케이스에서 특정 상황을 비교할 때 boolean, integer 과 같은 자료형다는 enum(열거)형을 사용하라는 것을 많이 들었을 거다. 그런데 golang에서는 enum 자료형이 존재하지 않는다. 그럼 어떻게 해야할까? 일반적으로 golang 에서는 enum을 구현하기 위해 아래와 같이 자료형을 정의하고 값을 상수(const)로 정의해서 사용한다. 예를 들어 우선 Status라는 상태를 나타내는 int 타입의 자료형을 정의한다. 그리고 Status에 해당하는 값들(WAITING, RUNNING, COMPLETE, FAILED)을 상수로 정의한다. type Status int const ( WAITING Status = iota//0 RUNNING Status = iota/.. 2023. 11. 18. golang type conversion [string(val)], type assertion [val.(string)] golang은 두가지 타입의 형 변환 방법이 있다. 하나는 변수의 타입을 변환해주기 위한, 즉 형 변환을 위한 type conversion 과 임의의 값을 가지는 interface를 다시 임의의 타입으로 변환하기 위한 type assertion (concrete) 이 존재한다. 두가지 방식의 사용법을 간단히 비교해보면 아래와 같다. // type conversion string(val) int64(n) float64(b) //type assertion val.(string) n.(int64) b.(float64) type conversion 은 우리가 흔히 알고 있는 형 변환(type casting) 연산자와 동일하다. 명시적으로 변수의 타입을 변경하는 것이다. 즉, type conversion은 일반적.. 2023. 2. 3. 이전 1 다음 728x90 반응형