Elemente in einem Array in Go zählen
In Go haben Arrays eine feste Größe und können nicht dynamisch in der Größe geändert werden. Die Länge eines Arrays ist eine intrinsische Eigenschaft seines Typs. Daher ruft der übliche Ansatz der Verwendung der Funktion len(), wie im bereitgestellten Codeausschnitt dargestellt, die deklarierte Größe des Arrays ab und nicht die Anzahl der aktuell festgelegten Elemente.
In Go werden Array-Elemente initialisiert auf ihren Nullwert bei der Schöpfung. Beispielsweise werden bei einem Array aus Ganzzahlen alle Elemente mit 0 initialisiert, während bei einem Array mit booleschen Werten der Wert „false“ initialisiert wird. Daher ist die „Gesamtzahl der Elemente im Array“, die sich in diesem Zusammenhang auf die Anzahl der Elemente ungleich Null bezieht, immer gleich der Array-Länge.
In der Go-Spezifikation heißt es ausdrücklich: „Die Länge ist ein Teil von.“ Der Typ des Arrays; es muss eine nicht negative Konstante sein, die durch einen Wert vom Typ int darstellbar ist. Die Länge des Arrays a kann mit der integrierten Funktion len() ermittelt werden. Slices, bei denen es sich um Ansichten der zugrunde liegenden Arrays mit dynamischer Größe handelt, bieten einen flexibleren Ansatz. Ein Slice-Header enthält einen Zeiger auf das Basiselement im Array, eine Länge, die die Anzahl der zugänglichen Elemente darstellt, und eine Kapazität, die die maximale mögliche Länge angibt. Durch die Verwendung von Slices kann man die Anzahl der zugänglichen Elemente innerhalb eines zusammenhängenden Segments des zugrunde liegenden Arrays dynamisch anpassen.
Weiteres Verständnis finden Sie in den folgenden Ressourcen:
The Go Blog : Go-Slices: Verwendung und InternaDas obige ist der detaillierte Inhalt vonWie zähle ich Elemente ungleich Null in einem Go-Array genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!