Heim > Backend-Entwicklung > Golang > Wie kann ich Go-Konstanten mit Ausdrücken außerhalb der Kompilierzeit deklarieren?

Wie kann ich Go-Konstanten mit Ausdrücken außerhalb der Kompilierzeit deklarieren?

Barbara Streisand
Freigeben: 2024-12-08 09:36:12
Original
464 Leute haben es durchsucht

How Can I Declare Go Constants with Non-Compile-Time Expressions?

Const-Variablen mit Ausdrücken außerhalb der Kompilierungszeit deklarieren

In Go müssen Const-Variablen Werte darstellen, die zur Kompilierzeit ausgewertet werden können. Daher treten bei Versuchen, Konstantvariablen mithilfe von Funktionsaufrufen zu initialisieren, Fehler auf. Dies liegt daran, dass Funktionen zur Laufzeit und nicht zur Kompilierungszeit ausgeführt werden.

Die Fehlermeldung „const initializer math.Pow10(3) ist keine Konstante“ weist darauf hin, dass die Funktion math.Pow10(3) Wird zum Initialisieren von KILO verwendet und kann zur Kompilierungszeit nicht ausgewertet werden.

Problemumgehung: Verwenden Sie Literal Werte

Um const-Variablen mit Ausdrücken außerhalb der Kompilierzeit zu deklarieren, müssen Sie stattdessen Literalwerte verwenden. Sie können beispielsweise ein Ganzzahlliteral verwenden:

const Kilo = 1000
Nach dem Login kopieren

Oder ein Gleitkommaliteral:

const Kilo = 1e3
Nach dem Login kopieren

Variablen verwenden

If Sie müssen wirklich eine Funktion verwenden, um einen Wert für eine Konstante zu berechnen. Sie können ihn nicht in einer const-Variablen speichern. Deklarieren Sie sie stattdessen als reguläre Variable:

var Kilo = math.Pow10(3)
Nach dem Login kopieren

Dadurch kann der Funktionsaufruf zur Laufzeit ausgeführt werden.

Alternative Konstantendeklarationssyntax

Eine ausführliche Einführung in Go-Konstanten finden Sie im Blogbeitrag „Konstanten“. Darüber hinaus können Sie die kompakte Syntax zum Deklarieren von Zehnerpotenzen als Konstanten erkunden.

Das obige ist der detaillierte Inhalt vonWie kann ich Go-Konstanten mit Ausdrücken außerhalb der Kompilierzeit 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