> 백엔드 개발 > Golang > 컴파일 타임이 아닌 표현식으로 Go 상수를 어떻게 선언할 수 있나요?

컴파일 타임이 아닌 표현식으로 Go 상수를 어떻게 선언할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-08 09:36:12
원래의
440명이 탐색했습니다.

How Can I Declare Go Constants with Non-Compile-Time Expressions?

컴파일 타임이 아닌 표현식으로 Const 변수 선언

Go에서 const 변수는 컴파일 타임에 평가할 수 있는 값을 나타내야 합니다. 결과적으로 함수 호출을 사용하여 const 변수를 초기화하려고 하면 오류가 발생합니다. 이는 함수가 컴파일 타임이 아닌 런타임에 실행되기 때문입니다.

수신된 오류 메시지인 "const 이니셜라이저 math.Pow10(3)은 상수가 아닙니다."는 math.Pow10(3) 함수가 KILO를 초기화하는 데 사용된 것은 컴파일 타임에 평가될 수 없습니다.

해결 방법: 리터럴 사용 값

컴파일 타임이 아닌 표현식으로 const 변수를 선언하려면 대신 리터럴 값을 사용해야 합니다. 예를 들어, 정수 리터럴을 사용할 수 있습니다:

const Kilo = 1000
로그인 후 복사

또는 부동 소수점 리터럴:

const Kilo = 1e3
로그인 후 복사

변수 사용

상수의 값을 계산하려면 함수를 사용해야 하지만 이를 const 변수에 저장할 수는 없습니다. 대신 일반 변수로 선언하세요.

var Kilo = math.Pow10(3)
로그인 후 복사

이렇게 하면 런타임 시 함수 호출이 실행될 수 있습니다.

대체 상수 선언 구문

Go 상수에 대한 자세한 소개는 블로그 게시물 "상수"를 참조하세요. 또한 10의 거듭제곱을 상수로 선언하는 간단한 구문을 탐색할 수 있습니다.

위 내용은 컴파일 타임이 아닌 표현식으로 Go 상수를 어떻게 선언할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿