Écrire des puissances de 10 en tant que constantes compactes
Dans le contexte de la programmation Go, où les puissances de 2 peuvent être élégamment définies à l'aide de la constante iota générateur, l'exercice de déclaration de constantes pour des puissances de 1000 (KB, MB, etc.) présente un défi en raison de l'absence d'exponentiation opérateur.
Cependant, il existe des moyens créatifs de résoudre ce problème en utilisant d'autres fonctionnalités du langage. Une approche consiste à exploiter des littéraux à virgule flottante avec des exposants :
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
Cette méthode représente de manière concise toutes les constantes sur une seule ligne, ce qui donne une longueur de 67 caractères (hors espaces).
Une autre L'approche utilise des littéraux entiers et utilise la constante KB établie comme multiplicateur :
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1000, KB * KB, MB * KB, GB * KB, TB * GB, PB * KB, EB * KB, ZB * KB )
Cette approche aboutit à constantes entières non typées et a une longueur de 77 caractères (hors espaces).
De plus, en introduisant une constante intermédiaire x pour représenter le facteur de multiplication, nous pouvons enregistrer 3 caractères supplémentaires :
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 )
Cette solution atteint une longueur de 74 caractères (hors espaces).
Enfin, nous pouvons utiliser des littéraux runiques pour représenter le 1000 constante, qui enregistre un autre caractère :
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 )
Cette approche fournit des constantes runiques et a une longueur de 73 caractères (hors espaces).
Ces solutions démontrent diverses techniques créatives pour définir de manière compacte une constante puissances de 1000 en l'absence d'opérateur d'exponentiation en Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!