>백엔드 개발 >Golang >Go 언어에는 몇 가지 유형의 상수가 있나요?

Go 언어에는 몇 가지 유형의 상수가 있나요?

青灯夜游
青灯夜游원래의
2023-01-09 10:39:541755검색

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

Go 언어에는 몇 가지 유형의 상수가 있나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.

상수는 프로그램 실행 중에 변경되지 않는 고정된 값을 의미합니다. 이러한 고정 값을 리터럴이라고도 합니다.

상수는 프로그램에서 가장 기본적인 요소로 정의된 후에는 다시 할당할 수 없습니다.

Go 언어의 상수는 변경되지 않는 데이터를 저장하는 데 사용되는 const 키워드를 사용하여 정의됩니다. 상수는 함수 내에 정의된 경우에도 컴파일 타임에 생성되며 부울 또는 숫자(정수)만 가능합니다. ) 유형, 부동 소수점 및 복소수) 및 문자열 유형. 컴파일 시간 제한으로 인해 상수를 정의하는 식은 컴파일러에서 평가할 수 있는 상수 식이어야 합니다.

부울 상수

부울 상수에는 true(true) 또는 false(false)의 두 가지 값만 있습니다.

코드는 다음과 같습니다.

const x = true
fmt.Print(x) //输出true

정수 상수

정수 상수는 실제로 양수입니다.

코드는 다음과 같습니다.

const x = 20
fmt.Print(x) //输出20

부동 소수점 상수

부동 소수점 상수는 실제로 소수입니다

코드는 다음과 같습니다.

cOnstx= 0.618
fmt.Print(x) //输出%f0.618

문자/문자열 상수

코드는 다음과 같습니다.

const x = 'a'
fmt.Print(x) //输出97

const x = "a"
fmt.Print(x) //输出a

복소 상수

코드는 다음과 같습니다.

const x = 3 + 2i
fmt.Print(x) //输出%v(3+2i)

자세히 살펴보면 찾을 수 있습니다. 'a'와 'a'의 출력 값이 다르므로 작은따옴표 'a'는 문자를 나타내고 큰따옴표 안의 'a'는 문자열을 나타냅니다. Go 언어에서는 '1', "1", 1이 서로 다른 값을 갖는데, 이는 C 언어와 동일합니다. 관심 있는 아동용 부츠는 직접 출력해 볼 수 있습니다.

확장된 지식: 유형이 지정되지 않은 상수

Go 언어의 상수에는 특이한 점이 있습니다. 상수는 int 또는 float64와 같은 명확한 기본 유형이나 time.Duration과 같은 기본 유형을 가질 수 있지만 많은 상수에는 명시적인 기본 유형이 없습니다.

컴파일러는 기본 유형보다 명시적인 기본 유형이 없는 이러한 숫자 상수에 대해 더 높은 정밀도의 산술 연산을 제공합니다. 최소 256비트 연산 정밀도가 있다고 간주할 수 있습니다. 지정되지 않은 상수 유형은 6가지입니다. 즉, 유형이 지정되지 않은 부울, 유형이 지정되지 않은 정수, 유형이 지정되지 않은 문자, 유형이 지정되지 않은 부동 소수점 숫자, 유형이 지정되지 않은 복소수 및 유형이 지정되지 않은 문자열입니다.

특정 상수 유형을 연기함으로써 더 높은 연산 정확도를 제공할 뿐만 아니라 명시적인 유형 변환 없이 더 많은 표현식에 직접 사용할 수 있습니다.

[예제 1] math.Pi는 부동 소수점 수나 복소수가 필요한 곳이면 어디든 직접 사용할 수 있는 유형이 지정되지 않은 부동 소수점 상수입니다.

var x float32 = math.Pi
var y float64 = math.Pi
var z complex128 = math.Pi

math.Pi가 float64와 같은 특정 유형으로 결정되면 결과 정확도는 다를 수 있습니다. 동시에 float32 또는 complex128 유형 값이 필요한 경우 명시적인 캐스트 변환이 필요합니다.

const Pi64 float64 = math.Pi
var x float32 = float32(Pi64)
var y float64 = Pi64
var z complex128 = complex128(Pi64)

[관련 권장 사항: Go 비디오 튜토리얼, 프로그래밍 교육]

위 내용은 Go 언어에는 몇 가지 유형의 상수가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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