Heim > Backend-Entwicklung > Golang > Wann und warum sollten Sie „new' mit Structs in Go verwenden?

Wann und warum sollten Sie „new' mit Structs in Go verwenden?

Patricia Arquette
Freigeben: 2024-10-25 01:21:02
Original
223 Leute haben es durchsucht

When and Why Should You Use `new` with Structs in Go?

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!

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