Resizable Arrays in Go implementieren
Als C-Entwickler, der auf Go umsteigt, sind Sie möglicherweise daran gewöhnt, die Klasse std::vector für zu verwenden dynamische Arrays. In Go kann eine ähnliche Funktionalität mit einer anhängbaren Slice-Datenstruktur erreicht werden.
Standardansatz
Um ein dynamisches Array von Strukturen zu erstellen, können Sie den Strukturtyp definieren und verwenden Sie dann Slices, um Instanzen der Struktur zu speichern. Slices haben eine dynamische Größe, sodass Sie zur Laufzeit Elemente hinzufügen oder entfernen können.
Beispiel-Code-Snippet
type myStruct struct { b int c string } func main() { // Create an empty slice of myStruct a := []myStruct{} // Append elements to the slice a = append(a, myStruct{1, "hello"}) a = append(a, myStruct{2, "world"}) // Iterate over and print the slice for _, v := range a { fmt.Println(v) } }
Tastenfunktion: append()
Die Funktion append() ist für die Arbeit mit Slices in Go von zentraler Bedeutung. Es verwendet ein Slice als erstes Argument und ein oder mehrere Elemente als verbleibende Argumente. Es hängt die angegebenen Elemente an das Slice an und gibt ein neues Slice mit den angehängten Elementen zurück.
Weiterführende Literatur
Ausführlichere Informationen zu Slices und der Funktion append() Weitere Informationen finden Sie in der Go-Spezifikation: https://go.dev/ref/spec#Appending_and_copying_slices
Das obige ist der detaillierte Inhalt vonWie implementieren ich veränderbare Arrays in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!