Heim >Backend-Entwicklung >Golang >Wie erstelle ich unveränderliche Strukturen in Go?
Erstellen unveränderlicher Strukturen in Go
Unveränderliche Strukturen erlauben nach der Initialisierung nur Lesevorgänge für ihre Felder ohne die Möglichkeit einer Änderung. Um dies in Go zu erreichen, ist ein etwas anderer Ansatz erforderlich als in einigen anderen Sprachen.
Die Lösung
So erstellen Sie unveränderliche Strukturen in Go:
Beispielcode
package mypackage type ImmutableStruct struct { value int } func (s ImmutableStruct) Value() int { return s.value } func NewImmutableStruct(value int) ImmutableStruct { return ImmutableStruct{value: value} }
Verwendung
myImmutableStruct := mypackage.NewImmutableStruct(3) fmt.Println(myImmutableStruct.Value()) // Prints 3
In diesem Beispiel verfügt die ImmutableStruct über nicht exportierte Felder und eine Lesefunktion (Value()) für den Zugriff Wertfeld. Nach der Initialisierung kann es nicht mehr von außerhalb des mypackage-Pakets geändert werden.
Diese Technik stellt Unveränderlichkeit sicher und behält gleichzeitig die Flexibilität von Strukturen und die Modularität von Go-Paketen bei.
Das obige ist der detaillierte Inhalt vonWie erstelle ich unveränderliche Strukturen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!