English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In der Programmiersprache GoArrayAnders als andere Programmiersprachen sehr ähnlich. In Programmen müssen wir manchmal eine Gruppe von Daten desselben Typs speichern, zum Beispiel eine Liste von Schülernoten. Diese Art von Sammlung wird in Programmen mit Arrays gespeichert. Ein Array ist eine festgelegte Länge der Sequenz, die zur Speicherung von Elementen desselben Typs im Speicher verwendet wird. Go bietet keine spezifische eingebaute Funktion, um ein Array in ein anderes Array zu kopieren. Aber wir können eine Kopie des Arrays erstellen, indem wir es einfach durch Wert oder Referenz einer neuen Variable zuweisen.
Wenn wir eine Kopie des Arrays durch Wert erstellen und Änderungen am Wert des Originalarrays vornehmen, wird dies nicht in der Kopie des Arrays widergespiegelt. Und wenn wir eine Kopie des Arrays durch Referenz erstellen und Änderungen am Wert des Originalarrays vornehmen, wird dies in der Kopie des Arrays widergespiegelt. Dies zeigt der folgende Beispiel:
Syntax:
//Erstellen einer Kopie des Arrays durch Wert arr := arr1 //Erstellen einer Kopie des Arrays durch Referenz arr := &arr1
Lassen Sie uns mit einem Beispiel diese Konzeption diskutieren:
Beispiel1:
//Kopieren des Arrays durch Wert package main import "fmt" func main() { //Erstellen und Initialisieren des Arrays //Kurzform der Deklaration verwenden my_arr1 := [5]string{"Scala", "Perl", "Java", "Python", "Go"} //Kopieren des Arrays in eine neue Variable //Hier werden die Elemente durch Wert übergeben my_arr2 := my_arr1 fmt.Println("Array_1:1) fmt.Println("Array_2:", my_arr2) my_arr1[0] = "C++" //Hier, wenn wir das Array kopieren //durch Wert in ein anderes Array eingesetzt //dann werden Änderungen am Originalinhalt vorgenommen //Das Array wird nicht in //Kopie des Arrays fmt.Println("\nArray_1:1) fmt.Println("Array_2:2) }
Ausgabe:
Array_1: Array_2[Scala Perl Java Python Go] Array_1:++ Perl Java Python Go] Array_2:
Beispiel für das Kopieren des Arrays durch Referenz:
//Kopieren des Arrays durch Referenz package main import "fmt" func main() { //Erstellen und Initialisieren des Arrays //Kurzform der Deklaration verwenden my_arr1 := [6]int{12, 456, 67, 65, 34, 34} //Kopieren des Arrays in eine neue Variable //Hier werden die Elemente durch Referenz übergeben my_arr2 := &my_arr1 fmt.Println("Array_1:1) fmt.Println("Array_2:" *my_arr2) my_arr1[5] = 1000000 //Hier, wenn wir das Array kopieren //durch Referenz in ein anderes Array eingesetzt //dann werden Änderungen am Originalinhalt vorgenommen //Das Array wird in //Kopie des Arrays fmt.Println("\nArray_1:1) fmt.Println("Array_2:" *my_arr2) }
Ausgabe:
Array_1:12 456 67 65 34 34] Array_2: [12 456 67 65 34 34] Array_1:12 456 67 65 34 1000000] Array_2: [12 456 67 65 34 1000000]