
191
7
장
타입, 메서드, 인터페이스
7.2.6
타입은 실행가능한 문서이다
관련 데이터 세트를 모아두기 위해 구조체 타입을 선언해야 한다는 것은 잘 알려져 있지만, 다
른 사용자 정의 타입을 기반으로 한 사용자 정의 타입이나 다른 내장 타입을 기반으로 하는 사
용자 정의 타입을 선언하는 시점은 덜 명확하다. 이에 대한 짧은 답변은 타입은 문서라는 것이
다. 개념을 위한 이름을 제공하여 코드를 더 명확하게 만들고 기대되는 데이터의 종류를 기술
한다. 메서드가 파라미터로
int
타입 대신에
Percentage
타입을 사용할 때 누군가가 코드를
읽는다면 더 명확할 수 있고, 유효하지 않는 값으로 해당 메서드를 실행하는 것을 어렵게 한다.
다른 사용자 정의 타입을 기반으로 한 사용자 정의 타입을 선언할 때도 동일한 로직이 적용된
다. 같은 기본 데이터를 가지지만 수행하기 위한 작업 세트가 다른 경우 두 가지 타입을 만들도
록 하자. 하나를 다른 것으로 기반하여 선언하면 약간의 반복은 피할 수 있고 두 타입이 관련되
어 있다는 것을 명확하게 할 수 있다.
7.2.7
열거형을 위한
iota
많은 프로그래밍 언어는 열거형에 대한 개념을 가지고 제한된 값의 세트만을 가지도록 타입을
지정할 수 있다.
Go
는 열거형 타입을 가지고 있지 않는다. 대신에,
iota
를 사용하여 증가하는 ...