Eine häufige Frage für Go-Anfänger betrifft die Variablendeklaration in der Initialisierungsanweisung einer For-Schleife. Während Sie eine Schleife wie for i := 0; schreiben können ich < 10; i scheint es unmöglich, einen Typ explizit innerhalb der Initialisierungsanweisung anzugeben.
Der Versuch, einen Typ direkt innerhalb der Initialisierung anzugeben, z. B. für var i int64 = 0; ich < 10; i wird zu einem Fehler führen. Entgegen den Erwartungen müssen Sie die Variable außerhalb der Schleifeninitialisierung deklarieren und sie zuweisen innerhalb von:
var i int64 for i = 0; i < 10; i++ { // i here is of type int64 }
Die Sprachspezifikation für eine for-Schleife besagt, dass die Initialisierungsanweisung eine kurze Variablendeklaration sein kann, die a zuweist Wert (z. B. i := 0), aber keine vollständige Variablendeklaration (var i = 0).
Der Grund dafür ist wahrscheinlich die Aufrechterhaltung der Einfachheit der Sprache. Es ist jedoch erwähnenswert, dass Sie ein ähnliches Ergebnis erzielen können, indem Sie eine Typkonvertierung verwenden:
for i := int64(0); i < 10; i++ { // i here is of type int64 }
Das obige ist der detaillierte Inhalt vonKann ich eine Variable explizit in die Initialisierungsanweisung einer Go For-Schleife eingeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!