Heim > Backend-Entwicklung > Golang > Wie kann ich Zehnerpotenzen in Go kompakt deklarieren?

Wie kann ich Zehnerpotenzen in Go kompakt deklarieren?

Linda Hamilton
Freigeben: 2024-12-01 14:16:14
Original
219 Leute haben es durchsucht

How Can I Compactly Declare Powers of 10 in Go?

Potenzen von 10 kompakt schreiben

In der Programmiersprache Go fordert Übung 3.13 Programmierer dazu auf, kompakte Konstantendeklarationen für KB, MB und mehr zu schreiben an YB, was Potenzen von 1000 darstellt. Trotz der Einschränkungen des Iota-Mechanismus zur Erzeugung von Potenzen von 10 schlägt der Text vor unter Verwendung eines möglichst kompakten Ansatzes.

Gleitkomma-Literale

Eine platzsparende Lösung ist die Verwendung von Gleitkomma-Literalen mit Exponententeilen. Das Schreiben von 1e3 benötigt beispielsweise weniger Platz als 1000. Durch die Zusammenfassung aller Bezeichner in einer einzigen Konstantenspezifikation wird die Anzahl der Gleichheitszeichen weiter reduziert. Hier ist eine prägnante Deklaration (67 Zeichen ohne Leerzeichen):

const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
Nach dem Login kopieren

Ganzzahlliterale mit KB als Multiplikator

Um untypisierte Ganzzahlkonstanten zu erstellen, muss 1000 für KB geschrieben werden. Um nachfolgende Werte zu erhalten, kann der vorherige Bezeichner mit 1000 multipliziert werden. Es ist jedoch auch möglich, KB als Multiplikator zu verwenden, da dieser 1000 darstellt. Die folgende Deklaration besteht aus 77 Zeichen ohne Leerzeichen:

const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
Nach dem Login kopieren

Verwenden einer zusätzlichen Konstante für die Multiplikation

Einführung einer zusätzlichen 1-Zeichen-Konstante x ermöglicht weitere Platzeinsparungen durch Ersetzen von *KB durch reduziert den Platzbedarf um ein weiteres Zeichen:

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)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Zehnerpotenzen in Go kompakt deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage