언어 자료구조 알고리즘/구글 Go

[구글 Go 하자] 13. iota를 사용하여 규칙적인 상수 열거하기

언제나휴일 2016. 5. 28. 16:47
반응형

13. iota를 사용하여 규칙적인 상수 열거하기



 안녕하세요. 언제나 휴일, 언휴예요.


 이전 게시글에서는 const 키워드를 이용하여 상수를 표현하는 방법을 살펴보았어요. 이번 게시글에서는 const 키워드와 괄호, iota를 이용하여 상수를 열거하는 방법을 살펴보아요.


 프로그래밍에서 특정 변수가 갖을 수 있는 값의 종류를 한정하여 사용하거나 여러 종류의 값을 여러 개의 상수명에 정의하여 사용하면 효과적일 때가 많이 있어요. 이전 게시글에서 얘기한 것처럼 가독성이 높아지고 변경이 쉬워집니다.


 새 프로젝트를 만들어 하나 하나 표현해 보기로 해요.

LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가

[그림 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


iota를 사용하여 규칙적인 상수 열거하기 예제 실행 화면

[그림 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 키워드로 상수 정의


반응형