Golang-Array-Modifikation

WBOY
Freigeben: 2023-05-27 14:56:10
Original
850 Leute haben es durchsucht

In Golang ist ein Array eine geordnete Sammlung fester Länge von Elementen desselben Typs. In der tatsächlichen Entwicklung werden wir jedoch wahrscheinlich auf Situationen stoßen, in denen wir Array-Elemente ändern müssen.

Zunächst muss klar sein, dass Arrays in Golang Werttypen sind. Das heißt, wenn wir ein Array einem anderen Array zuweisen oder ein Array als Parameter übergeben, übergeben wir tatsächlich eine Kopie des Arrays und nicht das ursprüngliche Array selbst. Wenn wir also ein Array-Element ändern möchten, müssen wir das ursprüngliche Array ändern, nicht seine Kopie.

Die einfachste Möglichkeit, ein Element in einem Array zu ändern, besteht darin, das Element im Array über den Index zu referenzieren und einen neuen Wert zuzuweisen:

arr := [3]int{1, 2, 3}
arr[0] = 4
Nach dem Login kopieren

Im obigen Beispiel haben wir ein Array aus Ganzzahlen der Länge 3 erstellt und dabei das erste geändert Element von 1 wurde in 4 geändert. Diese Methode ist relativ einfach und leicht zu verstehen, aber manchmal müssen wir das gesamte Array bearbeiten. In diesem Fall müssen wir den Array-Zeiger verwenden.

In Golang ist der Zeigertyp eines Arrays ein Zeiger, der auf das erste Element des Arrays zeigt. Sie können den Zeiger des Arrays über den Operator „&“ erhalten:

arr := [3]int{1, 2, 3}
ptr := &arr[0] //指向arr数组的第一个元素
Nach dem Login kopieren

Im obigen Beispiel haben wir ein ganzzahliges Array der Länge 3 erstellt und den Zeiger seines ersten Elements ptr zugewiesen. Als nächstes können wir das gesamte Array ändern, indem wir den Wert ändern, auf den der PTR-Zeiger zeigt:

*ptr = 4 //修改第一个元素的值
*(ptr+1) = 5 //修改第二个元素的值
*(ptr+2) = 6 //修改第三个元素的值
Nach dem Login kopieren

Im obigen Beispiel haben wir den Operator „“ verwendet, der die Übernahme des Werts darstellt, auf den der Zeiger zeigt. Mit dem „+“-Operator können wir zu jeder Position im Array wechseln und dann den Wert dieser Position mit dem „“-Operator ändern.

Darüber hinaus gibt es in Golang eine integrierte Funktion speziell für die Verarbeitung von Arrays – „Kopieren“. Diese Funktion kopiert Elemente von einem Array in ein anderes und gibt die Anzahl der tatsächlich kopierten Elemente zurück.

arr1 := [3]int{1, 2, 3}
arr2 := [3]int{} //创建一个长度为3的空数组
num := copy(arr2[:], arr1[:]) //将arr1的元素复制到arr2中,并返回复制的元素数量
Nach dem Login kopieren

Im obigen Beispiel haben wir zwei ganzzahlige Arrays der Länge 3 erstellt, die Elemente in arr1 nach arr2 kopiert und die Anzahl der kopierten Elemente zurückgegeben. Es ist zu beachten, dass wir den Operator „[:]“ verwenden, um einen Ausschnitt des gesamten Arrays zu erhalten und dadurch das gesamte Array in ein anderes Array zu kopieren.

Im Allgemeinen gibt es in Golang viele Möglichkeiten, Array-Elemente zu ändern. In einfachen Fällen können wir Elemente im Array direkt über den Index referenzieren und neue Werte zuweisen. In komplexeren Fällen können wir Array-Zeiger zum Betrieb verwenden oder die integrierte Funktion „Kopieren“ verwenden, um ein Array in ein anderes Array zu kopieren. Beachten Sie in jedem Fall, dass Arrays Werttypen sind und Sie das ursprüngliche Array und nicht seine Kopie ändern müssen.

Das obige ist der detaillierte Inhalt vonGolang-Array-Modifikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage