Zuweisen von Arrays mit nicht konstanter Größe in Go: Slices zur Rettung
Im Gegensatz zu anderen Sprachen erlaubt Go keine dynamische Zuweisung von Arrays Größen direkt. Wenn Sie versuchen, ein Array mit einer variablen Größe zu erstellen, z. B. var a [n]int, wird ein Fehler bei der Kompilierung auftreten.
Diese Einschränkung stellt keine Einschränkung dar, sondern eher einen Vorstoß zur Verwendung von Slices , eine flexiblere und leistungsfähigere Datenstruktur in Go. Slices ähneln Arrays, haben jedoch eine dynamische Größe, die zur Laufzeit angepasst werden kann.
Um ein Array mithilfe von Slices zuzuweisen, können Sie die Make-Funktion verwenden, die sowohl ein Slice als auch das zugrunde liegende Array erstellt:
n := 12 s := make([]int, n, 2*n)
In diesem Beispiel ist s ein Slice von Ganzzahlen, und ein neues Array der Größe 2*n wird zum Speichern der Slice-Elemente zugewiesen. Das Slice s bezieht sich zunächst auf die erste Hälfte des Arrays.
Diese Methode bietet sowohl die Flexibilität, die Array-Größe dynamisch anzupassen, als auch die Vorteile der Arbeit mit Arrays, wie z. B. die garantierte zusammenhängende Speicherzuweisung. Daher ist es in Go üblich, sich für die dynamische Datenverwaltung auf Slices statt auf Arrays zu verlassen.
Das obige ist der detaillierte Inhalt vonWie kann ich Arrays mit nicht konstanter Größe in Go zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!