10의 거듭제곱을 컴팩트 상수로 작성
Go 프로그래밍의 맥락에서 iota 상수를 사용하여 2의 거듭제곱을 우아하게 정의할 수 있습니다. 생성기에서 1000의 거듭제곱(KB, MB 등)에 대한 상수 선언 연습은 지수 연산자가 없습니다.
그러나 언어의 다른 기능을 활용하여 이 문제를 해결할 수 있는 창의적인 방법이 있습니다. 한 가지 접근 방식은 지수가 있는 부동 소수점 리터럴을 활용하는 것입니다.
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
이 방법은 모든 상수를 한 줄로 간결하게 표현하므로 길이가 67자(공백 제외)가 됩니다.
또 다른 접근 방식 접근 방식은 정수 리터럴을 사용하고 설정된 KB 상수를 승수로 사용합니다.
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1000, KB * KB, MB * KB, GB * KB, TB * GB, PB * KB, EB * KB, ZB * KB )
이 접근 방식은 결과는 형식화되지 않은 정수 상수이며 길이는 77자(공백 제외)입니다.
또한 곱셈 요소를 나타내는 중간 상수 x를 도입하여 추가로 3자를 절약할 수 있습니다.
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 )
이 솔루션은 74자(공백 제외) 길이를 달성합니다.
마지막으로 rune을 활용할 수 있습니다. 다른 문자를 저장하는 1000 상수를 나타내는 리터럴:
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 )
이 접근 방식은 룬 상수를 제공하며 길이는 73자(공백 제외)입니다.
이러한 솔루션은 다양한 창의적 기술을 보여줍니다. Go에서 지수 연산자가 없는 경우 1000의 상수 거듭제곱을 간결하게 정의합니다.
위 내용은 Go에서 1000의 거듭제곱을 상수로 어떻게 효율적으로 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!