Heim >Backend-Entwicklung >Golang >Wie kann ich Go-Konstanten mit Ausdrücken außerhalb der Kompilierzeit deklarieren?
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
Oder ein Gleitkommaliteral:
const Kilo = 1e3
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)
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!