Go에서 10의 거듭제곱을 컴팩트 상수로 작성
Go 프로그래밍 언어에서는 10의 거듭제곱을 상수로 정의하는 것이 일반적인 작업입니다. 3장에서 소개된 iota 메커니즘은 상수 값을 증가시키는 편리한 방법을 제공합니다. 그러나 지수화를 처리할 수 없기 때문에 한계가 있습니다. 이 기사에서는 Go에서 지수 연산자 없이 10의 거듭제곱을 상수로 선언하는 다양한 압축 방법을 살펴봅니다.
부동 소수점 리터럴 활용
간결한 방법은 부동 소수점을 사용하는 것입니다. -지수 부분이 있는 포인트 리터럴. 1e3을 쓰는 것이 1000을 쓰는 것보다 더 효율적입니다. 다음은 예입니다(공백 없이 67자):
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
KB를 승수로 사용하여 정수 리터럴 사용
유형이 지정되지 않은 정수의 경우 상수의 경우 KB에 1000을 사용하고 다음 상수에 KB를 곱할 수 있습니다. 아래 표시됨(공백 없이 77자):
const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
추가 상수 x를 승수로 사용
1문자를 도입하여 마지막 방법을 더욱 최적화할 수 있습니다. 여기에 표시된 것처럼 const x를 승수로 사용합니다(포함되지 않은 74자). 공백):
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 1000,x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
룬 리터럴 활용
마지막으로 룬 리터럴을 상수로 사용할 수 있습니다. 코드 포인트 1000은 'x'보다 한 문자 작은 룬 'Ϩ'에 해당합니다. 다음은 예입니다(공백 없이 73자):
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 'Ϩ',x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
이 방법은 Go에서 10의 거듭제곱을 상수로 정의하는 간결하고 효율적인 방법을 제공하여 간결하고 읽기 쉬운 코드를 가능하게 합니다.
위 내용은 Go에서 10의 거듭제곱을 상수로 어떻게 간결하게 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!