Den Zweck von new in Go verstehen
Im Gegensatz zu primitiven Sprachkonstrukten bietet die Verwendung von new mit Strukturen einen gewissen Nutzen. Während new(MyStruct) und &MyStruct{} ähnliche Ergebnisse erzielen, hängt ihre Wahl von der Klarheit und Aussagekraft des Codes ab.
new spielt eine entscheidende Rolle bei der Initialisierung nicht-primitiver Datentypen wie Strukturen. Der Mangel an Konstruktorunterstützung in Go kann durch das Einschließen von new in benutzerdefinierte Funktionen (z. B. NewMyStruct()) behoben werden. Dieser Ansatz ermöglicht eine flexible Initialisierung, einschließlich der Manipulation privater Felder und der Bereitstellung benutzerdefinierter Konstruktoren, um unkontrollierten Zugriff auf die Interna der Struktur zu verhindern. Es vereinfacht auch Strukturanpassungen und vermeidet Unterbrechungen für bestehende Benutzer, wenn sie das Layout der Struktur ändern.
Bedenken Sie, dass Slices und Karten nicht mit „New“ initialisiert werden können. Stattdessen ist der Befehl make erforderlich, wie in make([]float, 100).
Das obige ist der detaillierte Inhalt vonWann und warum sollten Sie „new' mit Structs in Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!