Bei der Arbeit mit Go ist es wichtig, die angemessene Verwendung des neuen Schlüsselworts zu verstehen. Ziel dieses Artikels ist es, Licht in bestimmte Situationen zu bringen, in denen Neu empfohlen wird, häufige Missverständnisse auszuräumen und klare Erklärungen zu liefern.
Wie im bereitgestellten Beispiel gezeigt, ist Neu nicht für Primitiv geeignet Arten wie Scheiben. In diesen Fällen sollte der Befehl make verwendet werden, um das Slice oder die Karte zu initialisieren. Zum Beispiel:
<code class="go">func main() { y := make([]float, 100) fmt.Printf("Len = %d", len(y)) // Output: Len = 100 }</code>
Bei der Arbeit mit Strukturen hängt die Wahl zwischen y := new(my_struct) und y := &my_struct vom Verwendungszweck und der Lesbarkeit des Codes ab. Beide Optionen erstellen einen Zeiger auf eine neu zugewiesene Struktur auf dem Heap. Allerdings kann new beim Zuweisen eines Zeigers expliziter sein, während & eine prägnantere Notation ist.
In Go werden Variablen standardmäßig mit ihren Nullwerten initialisiert. Das bedeutet, dass primitive Typen wie Ganzzahlen, Gleitkommazahlen und Boolesche Werte auf 0 initialisiert werden, während Slices, Karten und Strukturen mit ihren jeweiligen Nullwerten initialisiert werden. Das Schlüsselwort new ändert dieses Verhalten nicht, sodass die Felder aller zugewiesenen Strukturen weiterhin auf ihre Nullwerte initialisiert werden.
Trotz der oben genannten Einschränkungen hat new seine Verwendungsmöglichkeiten in Go:
Das obige ist der detaillierte Inhalt von## Wann sollten Sie das „neue' Schlüsselwort in Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!