Go의 상수 배열

Jay Singh 2023년1월30일
  1. Go에서 const 함수를 사용하여 상수 배열 확인
  2. Go에서 [...] 연산자를 사용하여 상수 배열 선언
Go의 상수 배열

Go 개발자는 설정을 위해 전역 변수 대신 전역 상수를 사용하는 데 상당히 능숙합니다. 그러나 좀 더 복잡한 유형의 상수 버전을 구성할 때 문제가 발생합니다.

Go 컴파일러를 사용하여 배열, 맵 또는 슬라이스 상수를 만들 수 없습니다.

Go의 상수는 정확히 상수입니다. 함수에서 지역으로 지정된 경우에도 컴파일 시 생성되며 정수, 문자(룬), 문자열 또는 부울만 될 수 있습니다.

컴파일 시간 제약 때문에 이를 정의하는 표현식은 컴파일러가 평가할 수 있는 상수 표현식이어야 합니다.

이 기사에서는 상수 배열을 만드는 대체 방법에 대해 설명합니다.

Go에서 const 함수를 사용하여 상수 배열 확인

상수 배열과 슬라이스는 Go에서 지원되지 않습니다. Go에서는 빌드 시 상수 값이 생성되기 때문입니다.

런타임에 배열 또는 슬라이스는 항상 평가됩니다. 결과적으로 다음 프로그램은 컴파일 오류를 생성합니다.

package main

import "fmt"

func main() {
    const a = [1]int{1}
    fmt.Println(const a)
}

출력:

const initializer [1]int literal is not a constant

Go에서 [...] 연산자를 사용하여 상수 배열 선언

[] 대신 [...]을 사용하면 슬라이스가 아닌 (고정 크기) 배열을 얻을 수 있습니다. 결과적으로 값은 고정된 것이 아니라 크기입니다.

package main

import "fmt"

func main() {
    a := [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    fmt.Println(a)
}

출력:

[1 2 3 4 5 6 7 8 9]

관련 문장 - Go Array