Heim  >  Artikel  >  Backend-Entwicklung  >  Wie viele Arten von Konstanten gibt es in der Go-Sprache?

Wie viele Arten von Konstanten gibt es in der Go-Sprache?

青灯夜游
青灯夜游Original
2023-01-09 10:39:541671Durchsuche

Es gibt 5 Arten von Go-Sprachkonstanten: Boolesche Konstanten, Ganzzahlkonstanten, Gleitkommakonstanten, komplexe Zahlenkonstanten und Zeichenfolgenkonstanten. Konstanten in der Go-Sprache werden mit dem Schlüsselwort const definiert, das zum Speichern von Daten verwendet wird, die sich nicht ändern. Konstanten werden zur Kompilierungszeit erstellt, auch wenn sie innerhalb einer Funktion definiert werden, und können nur boolesch, numerisch (ganzzahlig, ganzzahlig) sein , Gleitkommazahlen und komplexe Zahlen) und String-Typen.

Wie viele Arten von Konstanten gibt es in der Go-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

Konstante bezieht sich auf einen festen Wert, der sich während der Ausführung eines Programms nicht ändern darf. Diese festen Werte werden auch Literale genannt.

Konstanten sind die grundlegendsten Elemente im Programm und können nach ihrer Definition nicht neu zugewiesen werden.

Konstanten in der Go-Sprache werden mit dem Schlüsselwort const definiert, das zum Speichern von Daten verwendet wird, die sich nicht ändern. Konstanten werden zur Kompilierzeit erstellt, auch wenn sie innerhalb einer Funktion definiert werden, und können nur boolesch oder numerisch (ganzzahlig) sein )-Typ, Gleitkommatyp und komplexe Zahl) und String-Typ. Aufgrund von Kompilierungszeitbeschränkungen muss der Ausdruck, der eine Konstante definiert, ein konstanter Ausdruck sein, der vom Compiler ausgewertet werden kann.

Boolesche Konstanten

Boolesche Konstanten haben nur zwei Werte, wahr (wahr) oder falsch (falsch).

Der Code lautet wie folgt:

const x = true
fmt.Print(x) //输出true

Ganzzahlkonstante

Die Ganzzahlkonstante ist eigentlich eine positive Zahl

Der Code lautet wie folgt:

const x = 20
fmt.Print(x) //输出20

Gleitkommakonstante

Gleitkommakonstante ist eigentlich eine Dezimalzahl

Der Code lautet wie folgt: Da die Ausgabewerte von „a“ und „a“ unterschiedlich sind, stellen einfache Anführungszeichen „a“ ein Zeichen und „a“ in doppelten Anführungszeichen eine Zeichenfolge dar. In der Go-Sprache sind „1“, „1“ und 1 unterschiedliche Werte, was mit der C-Sprache identisch ist. Interessierte Kinderstiefel können die Ausgabe selbst ausprobieren.

Erweitertes Wissen: untypisierte Konstanten

Konstanten in der Go-Sprache haben etwas Ungewöhnliches. Obwohl eine Konstante jeden bestimmten zugrunde liegenden Typ wie int oder float64 oder einen Basistyp wie time.Duration haben kann, haben viele Konstanten keinen expliziten zugrunde liegenden Typ.

Der Compiler bietet arithmetische Operationen mit höherer Genauigkeit für diese numerischen Konstanten, denen kein expliziter zugrunde liegender Typ zugrunde liegt. Es kann davon ausgegangen werden, dass die Operationsgenauigkeit mindestens 256 Bit beträgt. Es gibt sechs nicht spezifizierte Konstantentypen, nämlich untypisierte boolesche Werte, untypisierte Ganzzahlen, untypisierte Zeichen, untypisierte Gleitkommazahlen, untypisierte komplexe Zahlen und untypisierte Zeichenfolgen.

Durch das Zurückstellen spezifischer Konstantentypen wird nicht nur eine höhere Operationsgenauigkeit erreicht, sondern es kann auch ohne explizite Typkonvertierung direkt in mehr Ausdrücken verwendet werden.

[Beispiel 1] math.Pi ist eine untypisierte Gleitkommakonstante, die direkt überall dort verwendet werden kann, wo Gleitkommazahlen oder komplexe Zahlen benötigt werden:

cOnstx= 0.618
fmt.Print(x) //输出%f0.618

Wenn math.Pi als ein bestimmter Typ bestimmt wird, wie z. B. float64, wird die Die Ergebnisgenauigkeit kann unterschiedlich sein. Wenn jedoch ein Wert vom Typ float32 oder complex128 erforderlich ist, ist eine explizite Umwandlung erforderlich:

Das obige ist der detaillierte Inhalt vonWie viele Arten von Konstanten gibt es in der Go-Sprache?. 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