Maison > développement back-end > Golang > Comment puis-je déclarer de manière compacte des puissances de 10 en Go ?

Comment puis-je déclarer de manière compacte des puissances de 10 en Go ?

Linda Hamilton
Libérer: 2024-12-01 14:16:14
original
280 Les gens l'ont consulté

How Can I Compactly Declare Powers of 10 in Go?

Puissances d'écriture de 10 de manière compacte

Dans le langage de programmation Go, l'exercice 3.13 met les programmeurs au défi d'écrire des déclarations constantes compactes pour Ko, Mo, jusqu'à à YB, représentant des puissances de 1000. Malgré les limites du mécanisme iota pour générer des puissances de 10, le texte suggère d'utiliser le plus compact approche possible.

Litéraux à virgule flottante

Une solution peu encombrante consiste à utiliser des littéraux à virgule flottante avec des parties exposants. Par exemple, écrire 1e3 prend moins de place que 1 000. La combinaison de tous les identifiants en une seule spécification constante réduit encore le nombre de signes égaux. Voici une déclaration concise (67 caractères sans espaces) :

const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
Copier après la connexion

Des littéraux entiers utilisant KB comme multiplicateur

La création de constantes entières non typées nécessite d'écrire 1 000 pour KB. Pour obtenir les valeurs suivantes, l'identifiant précédent peut être multiplié par 1000. Cependant, il est également possible d'utiliser KB comme multiplicateur, car il représente 1000. La déclaration suivante comporte 77 caractères sans espaces :

const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
Copier après la connexion

Utiliser une const supplémentaire pour la multiplication

L'introduction d'une const x supplémentaire à 1 caractère permet d'effectuer davantage gain de place en remplaçant *KB par x :

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)
Copier après la connexion

Rune Literal

L'utilisation d'un littéral runique avec un point de code de 1000 ("Ϩ") réduit l'espace requis par un personnage supplémentaire :

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal