본문 바로가기
프로그래밍/Golang

Golang Constants(상수)

by slowin 2024. 7. 20.

상수란?

상수는 프로그램 실행 중 변경되지 않는 고정된 값을 나타냅니다.

상수 정의

Golang에서 상수는 const 키워드를 사용하여 정의합니다.

const Pi = 3.14159
const MaxUsers = 100
const Greeting = "Hello, World!"

여러 상수를 그룹으로 정의할 수도 있습니다

const (
    StatusOK = 200
    StatusNotFound = 404
    StatusInternalServerError = 500
)

타입이 있는 상수와 없는 상수

1. 타입이 없는 상수

const MaxValue = 100

2. 타입이 있는 상수

const MaxValue int = 10

타입이 없는 상수는 더 유연하게 사용할 수 있으며, 필요에 따라 암시적으로 타입 변환이 가능합니다.

iota를 사용한 열거형 상수

iota는 연속된 정수 상수를 생성하는 데 사용되는 특별한 식별자입니다. const 블록 내에서 iota는 0부터 시작하여 각 라인마다 1씩 증가합니다.

const (
    Sunday = iota    // 0
    Monday           // 1
    Tuesday          // 2
    Wednesday        // 3
    Thursday         // 4
    Friday           // 5
    Saturday         // 6
)

정리

  1. 가독성 향상: 매직 넘버 대신 의미 있는 이름을 사용할 수 있습니다.
  2. 유지보수성: 값을 한 곳에서 관리할 수 있어 변경이 용이합니다.
  3. 타입 안전성: 특히 타입이 있는 상수를 사용할 때 타입 관련 오류를 줄일 수 있습니다.
  4. 성능: 컴파일 시간에 평가되므로 런타임 오버헤드가 없습니다.