Heim >Backend-Entwicklung >Golang >Was ist die kompakteste Möglichkeit, Potenzen von 1000 Konstanten in Go darzustellen?

Was ist die kompakteste Möglichkeit, Potenzen von 1000 Konstanten in Go darzustellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-25 00:52:14236Durchsuche

What's the Most Compact Way to Represent Powers of 1000 Constants in Go?

Kompakte Darstellung von Potenzen von 10 Konstanten

Die betreffende Übung erfordert eine kompakte Darstellung von Konstanten, die Potenzen von 1000 bezeichnen, nämlich KB, MB, GB und so weiter. Während der anfängliche Gedanke vielleicht darin bestand, iota zu verwenden, ist es aufgrund seiner Einschränkungen für diese spezielle Aufgabe ungeeignet. Alternativ gibt es mehrere kompakte Methoden zum Definieren dieser Konstanten:

Gleitkomma-Literale:

Die Verwendung von Gleitkomma-Literalen ermöglicht eine prägnante Darstellung:

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

Ganzzahlige Literale mit KB-Multiplikation:

Für Bei untypisierten Ganzzahlkonstanten bietet die Multiplikation des vorherigen Bezeichners mit 1000 eine kompakte Lösung:

const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)

Integer-Literale mit zusätzlichem Multiplikator:

Einführung eines Einzelzeichen-Multiplikators const, 'x', kann das Zeichen reduzieren count:

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)

Runenliteral:

Die Angabe der 1000-Konstante als Runenliteral mit dem Codepunkt 1000, gerendert als „Ϩ“, ergibt das kompakteste Ergebnis Darstellung:

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)

Das obige ist der detaillierte Inhalt vonWas ist die kompakteste Möglichkeit, Potenzen von 1000 Konstanten in Go darzustellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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