>백엔드 개발 >Golang >golang에서 const는 무엇입니까?

golang에서 const는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-12-31 13:48:155853검색

golang에서 const는 무엇입니까?

const 선언은 상수, 즉 컴파일 타임에 고정되는 값에 이름을 지정합니다. 상수 값은 숫자, 문자열 또는 부울이어야 합니다.

Go 언어의 상수는 const 키워드를 사용하여 정의되며 변경되지 않는 데이터를 저장하는 데 사용됩니다. 상수는 함수 내에 정의되어 있더라도 컴파일 타임에 생성됩니다. 부울, 숫자(정수, 부동 소수점 및 복소수) 및 문자열만 가능합니다. (추천 학습: go)

컴파일 시간 제한으로 인해 상수를 정의하는 표현식은 다음에서 평가할 수 있는 상수 표현식이어야 합니다. 컴파일러.

상수의 정의 형식은 변수의 선언 구문과 유사합니다. const name [type] = value(예:

const pi = 3.14159 // 相当于 math.Pi 的近似值

Go 언어에서는, 컴파일러는 해당 값을 기반으로 변수의 유형을 추론할 수 있으므로 유형 지정자 [type]을 생략할 수 있습니다.

명시적 유형 정의: const b string = "abc"

암시적 유형 정의: const b = "abc"

상수의 값 컴파일 타임에 결정될 수 있어야 하며 계산 프로세스는 할당 표현식에 포함될 수 있지만 계산에 사용되는 모든 값은 컴파일 타임에 사용 가능해야 합니다.

올바른 접근 방식:

const c1 = 2/3

잘못된 접근 방식:

const c2 = getNumber() // 引发构建错误: getNumber() 用做值

변수 선언과 마찬가지로 여러 상수를 일괄적으로 선언할 수 있습니다.

const (
    e  = 2.7182818
    pi = 3.1415926
)
# 🎜🎜#모든 상수 연산은 컴파일 타임에 완료될 수 있어 런타임 작업이 줄어들 뿐만 아니라 다른 코드의 컴파일 및 최적화도 용이해집니다. 피연산자가 상수인 경우 일부 런타임 오류도 컴파일 타임에 해결될 수 있습니다. 예를 들어 0으로 정수 나누기, 범위를 벗어난 문자열 인덱스, 잘못된 부동 소수점 숫자를 초래하는 작업 등이 있습니다.

상수에 대한 모든 산술 연산, 논리 연산 및 비교 연산의 결과도 상수이거나 다음 함수 호출은 상수 결과를 반환합니다. len, cap, real, imag, complex 및 안전하지 않습니다.크기.

위 내용은 golang에서 const는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.