Zuweisen von Arrays mit variabler Größe in Go
Im Gegensatz zu Arrays mit konstanter Größe, die mit const deklariert werden, erlaubt Go nicht die direkte Zuweisung von Arrays mit laufzeitbestimmte Größen. Dies wird im folgenden illegalen Code deutlich:
n := 1 var a [n]int
Es gibt jedoch eine Lösung: Verwenden Sie Slices anstelle von Arrays. Slices sind Verweise auf zugrunde liegende Arrays und bieten dynamische Größenänderungsfunktionen. Die integrierte Funktion make() wird zum Erstellen von Slices und den ihnen zugrunde liegenden Arrays verwendet. Es werden drei Argumente benötigt:
Indem wir mit make() ein Slice erstellen, weisen wir indirekt einem Array eine Laufzeit zu Größe:
n := 12 s := make([]int, n, 2*n)
In diesem Fall wird ein Array der Größe 2*n zugewiesen, und s bezieht sich auf einen Slice, der die ersten n Elemente des Arrays enthält.
Es bleibt unklar, warum Go erlaubt keine direkte Zuweisung von Arrays variabler Größe, aber die Lösung der Verwendung von Slices bietet eine flexible und effiziente Alternative. Daher wird empfohlen, in den meisten Szenarien Slices zu verwenden, wenn mit dynamischen Datenstrukturen in Go gearbeitet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go Arrays mit variabler Größe zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!