13. iota를 사용하여 규칙적인 상수 열거하기
안녕하세요. 언제나 휴일, 언휴예요.
이전 게시글에서는 const 키워드를 이용하여 상수를 표현하는 방법을 살펴보았어요. 이번 게시글에서는 const 키워드와 괄호, iota를 이용하여 상수를 열거하는 방법을 살펴보아요.
프로그래밍에서 특정 변수가 갖을 수 있는 값의 종류를 한정하여 사용하거나 여러 종류의 값을 여러 개의 상수명에 정의하여 사용하면 효과적일 때가 많이 있어요. 이전 게시글에서 얘기한 것처럼 가독성이 높아지고 변경이 쉬워집니다.
새 프로젝트를 만들어 하나 하나 표현해 보기로 해요.
[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가
const 키워드와 ( )를 사용하여 여러 개의 상수를 정의할 때 상수명 뒤에 초기값 표현에 iota를 지정하면 첫번째 상수값은 0으로 정의하고 이후의 상수값은 설정하지 않아도 순차적으로 1씩 증가한 값으로 설정합니다.
첫번째 상수명에 iota로 상수값을 지정하여 1월부터 12월까지 상수 정의하기
const (
JAN = iota + 1
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
NOV
DEC
) //월
fmt.Println("JAN:", JAN)
fmt.Println("JUL:", JUL)
fmt.Println("DEC:", DEC)
출력 결과는 다음과 같아요.
JAN: 1
JUL: 7
DEC: 12
iota에 같은 연산으로 값을 지정하는 표현으로 여러 개의 규칙적인 상수를 열거할 수도 있어요.
iota*10 을 상수값으로 지정하여 10씩 증가하는 상수 정의하기
const (
c0 = iota * 10
c1 = iota * 10
c2 = iota * 10
c3 = iota * 10
c4 = iota * 10
)//10씩 증가하는 상수
fmt.Println("c1:", c1)
fmt.Println("c1:", c2)
fmt.Println("c1:", c3)
fmt.Println("c1:", c4)
출력 결과는 다음과 같아요.
c1: 10
c1: 20
c1: 30
c1: 40
[그림 2] iota를 사용하여 규칙적인 상수 열거하기 예제 실행 화면
관련 게시물
[구글 Go 하자] 5. 강력한 타입 언어, Go 언어 변수 선언 맛보기
[구글 Go 하자] 6. 표현 범위에 따라 원하는 정수 형식 사용
[구글 Go 하자] 7. byte와 rune 으로 바이너리 데이터 및 코드 표현
[구글 Go 하자] 8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의
[구글 Go 하자] 9. Go 언어에서는 복소수를 표현하는 형식을 제공해요.
[구글 Go 하자] 10. math 패키지에서 제한값을 제공해요.
[구글 Go 하자] 11. 참과 거짓은 bool, 문자열은 string
[구글 Go 하자] 12. const 키워드로 상수 정의
'언어 자료구조 알고리즘 > 구글 Go' 카테고리의 다른 글
[구글 Go 하자] 18. 자신의 값을 1 증가하거나 감소시키는 증감 연산자 (0) | 2016.05.30 |
---|---|
[구글 Go 하자] 17. 변수의 값을 특정 범위에서 순환하게 하기 (0) | 2016.05.30 |
[구글 Go 하자] 16. 직관적인 사칙 연산과 비교해 보세요. (0) | 2016.05.30 |
[구글 Go 하자] 15. 부호 연산자도 연산자 (0) | 2016.05.30 |
[구글 Go 하자] 14. Go 언어 연산자 개요 (0) | 2016.05.30 |
[구글 Go 하자] 12. const 키워드로 상수 정의 (0) | 2016.05.28 |
[구글 Go 하자] 11. 참과 거짓은 bool, 문자열은 string (0) | 2016.05.28 |
[구글 Go 하자] 10. math 패키지에서 제한값을 제공해요. (0) | 2016.05.28 |
[구글 Go 하자] 9. Go 언어에서는 복소수를 표현하는 형식을 제공해요. (0) | 2016.05.28 |
[구글 Go 하자] 8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의 (0) | 2016.05.28 |